{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---\n",
    "\n",
    "_You are currently looking at **version 1.1** of this notebook. To download notebooks and datafiles, as well as get help on Jupyter notebooks in the Coursera platform, visit the [Jupyter Notebook FAQ](https://www.coursera.org/learn/python-data-analysis/resources/0dhYG) course resource._\n",
    "\n",
    "---"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from abc import ABCMeta\n",
    "from abc import abstractproperty\n",
    "import operator\n",
    "import re\n",
    "\n",
    "# third party\n",
    "import matplotlib\n",
    "import numpy \n",
    "import pandas\n",
    "import statsmodels.stats.api as statsmodels\n",
    "from pylab import rcParams\n",
    "from scipy.stats import ttest_ind"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Assignment 4 - Hypothesis Testing\n",
    "This assignment requires more individual learning than previous assignments - you are encouraged to check out the [pandas documentation](http://pandas.pydata.org/pandas-docs/stable/) to find functions or methods you might not have used yet, or ask questions on [Stack Overflow](http://stackoverflow.com/) and tag them as pandas and python related. And of course, the discussion forums are open for interaction with your peers and the course staff.\n",
    "\n",
    "Definitions:\n",
    "* A _quarter_ is a specific three month period, Q1 is January through March, Q2 is April through June, Q3 is July through September, Q4 is October through December.\n",
    "* A _recession_ is defined as starting with two consecutive quarters of GDP decline, and ending with two consecutive quarters of GDP growth.\n",
    "* A _recession bottom_ is the quarter within a recession which had the lowest GDP.\n",
    "* A _university town_ is a city which has a high percentage of university students compared to the total population of the city.\n",
    "\n",
    "**Hypothesis**: University towns have their mean housing prices less effected by recessions. Run a t-test to compare the ratio of the mean price of houses in university towns the quarter before the recession starts compared to the recession bottom. (`price_ratio=quarter_before_recession/recession_bottom`)\n",
    "\n",
    "The following data files are available for this assignment:\n",
    "* From the [Zillow research data site](http://www.zillow.com/research/data/) there is housing data for the United States. In particular the datafile for [all homes at a city level](http://files.zillowstatic.com/research/public/City/City_Zhvi_AllHomes.csv), ```City_Zhvi_AllHomes.csv```, has median home sale prices at a fine grained level.\n",
    "* From the Wikipedia page on college towns is a list of [university towns in the United States](https://en.wikipedia.org/wiki/List_of_college_towns#College_towns_in_the_United_States) which has been copy and pasted into the file ```university_towns.txt```.\n",
    "* From Bureau of Economic Analysis, US Department of Commerce, the [GDP over time](http://www.bea.gov/national/index.htm#gdp) of the United States in current dollars (use the chained value in 2009 dollars), in quarterly intervals, in the file ```gdplev.xls```. For this assignment, only look at GDP data from the first quarter of 2000 onward.\n",
    "\n",
    "Each function in this assignment below is worth 10%, with the exception of ```run_ttest()```, which is worth 50%."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Use this dictionary to map state names to two letter acronyms\n",
    "states = {'OH': 'Ohio', 'KY': 'Kentucky', 'AS': 'American Samoa', 'NV': 'Nevada', 'WY': 'Wyoming', 'NA': 'National', 'AL': 'Alabama', 'MD': 'Maryland', 'AK': 'Alaska', 'UT': 'Utah', 'OR': 'Oregon', 'MT': 'Montana', 'IL': 'Illinois', 'TN': 'Tennessee', 'DC': 'District of Columbia', 'VT': 'Vermont', 'ID': 'Idaho', 'AR': 'Arkansas', 'ME': 'Maine', 'WA': 'Washington', 'HI': 'Hawaii', 'WI': 'Wisconsin', 'MI': 'Michigan', 'IN': 'Indiana', 'NJ': 'New Jersey', 'AZ': 'Arizona', 'GU': 'Guam', 'MS': 'Mississippi', 'PR': 'Puerto Rico', 'NC': 'North Carolina', 'TX': 'Texas', 'SD': 'South Dakota', 'MP': 'Northern Mariana Islands', 'IA': 'Iowa', 'MO': 'Missouri', 'CT': 'Connecticut', 'WV': 'West Virginia', 'SC': 'South Carolina', 'LA': 'Louisiana', 'KS': 'Kansas', 'NY': 'New York', 'NE': 'Nebraska', 'OK': 'Oklahoma', 'FL': 'Florida', 'CA': 'California', 'CO': 'Colorado', 'PA': 'Pennsylvania', 'DE': 'Delaware', 'NM': 'New Mexico', 'RI': 'Rhode Island', 'MN': 'Minnesota', 'VI': 'Virgin Islands', 'NH': 'New Hampshire', 'MA': 'Massachusetts', 'GA': 'Georgia', 'ND': 'North Dakota', 'VA': 'Virginia'}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "COLUMN_AXIS = 1 \n",
    "DEBUG = True\n",
    "if DEBUG:\n",
    "    import seaborn\n",
    "    %matplotlib inline\n",
    "    seaborn.set_style(\"whitegrid\")\n",
    "    #rcParams[\"figure.figsize\"] = 10, 8"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "UNIVERSITY_TOWNS_DATA = \"university_towns.txt\"\n",
    "GDP_DATA = \"gdplev.xls\"\n",
    "HOUSING_DATA = \"City_Zhvi_AllHomes.csv\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "class BaseData(object):\n",
    "    \"\"\"Base class for the data-loaders\n",
    "\n",
    "    Parameters\n",
    "    ----------\n",
    "\n",
    "    settings: object\n",
    "       holder of settings needed to load the data\n",
    "    \"\"\"\n",
    "    __meta__ = ABCMeta\n",
    "    def __init__(self, settings):\n",
    "        self.settings = settings\n",
    "        self._data = None\n",
    "        return\n",
    "\n",
    "    @abstractproperty\n",
    "    def data(self):\n",
    "        \"\"\"the data-frame\"\"\"\n",
    "        return\n",
    "\n",
    "class UniversitySettings(object):\n",
    "    \"\"\"settings for the UniversityData\"\"\"\n",
    "    source = UNIVERSITY_TOWNS_DATA\n",
    "    state_substring = \"[edit]\"\n",
    "    state_split = \"[\"\n",
    "    region_split = \" (\"\n",
    "    columns = [\"State\", \"RegionName\"]\n",
    "    \n",
    "class UniversityData(BaseData):\n",
    "    \"\"\"builder of the data\"\"\"\n",
    "    @property\n",
    "    def data(self):\n",
    "        \"\"\"the data-frame with university state/regions\"\"\"\n",
    "        if self._data is None:\n",
    "            lines = []\n",
    "            with open(self.settings.source) as data:\n",
    "                for line in data:\n",
    "                    if self.settings.state_substring in line:\n",
    "                        state = line.split(self.settings.state_split)[0].strip()\n",
    "                    else:\n",
    "                        region = line.split(self.settings.region_split)[0].strip()\n",
    "                        lines.append([state, region])\n",
    "            self._data = pandas.DataFrame(lines, columns=self.settings.columns)\n",
    "        return self._data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>State</th>\n",
       "      <th>RegionName</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Alabama</td>\n",
       "      <td>Auburn</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Alabama</td>\n",
       "      <td>Florence</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Alabama</td>\n",
       "      <td>Jacksonville</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Alabama</td>\n",
       "      <td>Livingston</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Alabama</td>\n",
       "      <td>Montevallo</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Alabama</td>\n",
       "      <td>Troy</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>Alabama</td>\n",
       "      <td>Tuscaloosa</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>Alabama</td>\n",
       "      <td>Tuskegee</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>Alaska</td>\n",
       "      <td>Fairbanks</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>Arizona</td>\n",
       "      <td>Flagstaff</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>Arizona</td>\n",
       "      <td>Tempe</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>Arizona</td>\n",
       "      <td>Tucson</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>Arkansas</td>\n",
       "      <td>Arkadelphia</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>Arkansas</td>\n",
       "      <td>Conway</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>Arkansas</td>\n",
       "      <td>Fayetteville</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>Arkansas</td>\n",
       "      <td>Jonesboro</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>Arkansas</td>\n",
       "      <td>Magnolia</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>Arkansas</td>\n",
       "      <td>Monticello</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>Arkansas</td>\n",
       "      <td>Russellville</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>Arkansas</td>\n",
       "      <td>Searcy</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>California</td>\n",
       "      <td>Angwin</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>California</td>\n",
       "      <td>Arcata</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>California</td>\n",
       "      <td>Berkeley</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>California</td>\n",
       "      <td>Chico</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>California</td>\n",
       "      <td>Claremont</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>California</td>\n",
       "      <td>Cotati</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>California</td>\n",
       "      <td>Davis</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>California</td>\n",
       "      <td>Irvine</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>California</td>\n",
       "      <td>Isla Vista</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>California</td>\n",
       "      <td>University Park, Los Angeles</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>487</th>\n",
       "      <td>Virginia</td>\n",
       "      <td>Wise</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>488</th>\n",
       "      <td>Virginia</td>\n",
       "      <td>Chesapeake</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>489</th>\n",
       "      <td>Washington</td>\n",
       "      <td>Bellingham</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>490</th>\n",
       "      <td>Washington</td>\n",
       "      <td>Cheney</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>491</th>\n",
       "      <td>Washington</td>\n",
       "      <td>Ellensburg</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>492</th>\n",
       "      <td>Washington</td>\n",
       "      <td>Pullman</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>493</th>\n",
       "      <td>Washington</td>\n",
       "      <td>University District, Seattle</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>494</th>\n",
       "      <td>West Virginia</td>\n",
       "      <td>Athens</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>495</th>\n",
       "      <td>West Virginia</td>\n",
       "      <td>Buckhannon</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>496</th>\n",
       "      <td>West Virginia</td>\n",
       "      <td>Fairmont</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>497</th>\n",
       "      <td>West Virginia</td>\n",
       "      <td>Glenville</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>498</th>\n",
       "      <td>West Virginia</td>\n",
       "      <td>Huntington</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>499</th>\n",
       "      <td>West Virginia</td>\n",
       "      <td>Montgomery</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>500</th>\n",
       "      <td>West Virginia</td>\n",
       "      <td>Morgantown</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>501</th>\n",
       "      <td>West Virginia</td>\n",
       "      <td>Shepherdstown</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>502</th>\n",
       "      <td>West Virginia</td>\n",
       "      <td>West Liberty</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>503</th>\n",
       "      <td>Wisconsin</td>\n",
       "      <td>Appleton</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>504</th>\n",
       "      <td>Wisconsin</td>\n",
       "      <td>Eau Claire</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>505</th>\n",
       "      <td>Wisconsin</td>\n",
       "      <td>Green Bay</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>506</th>\n",
       "      <td>Wisconsin</td>\n",
       "      <td>La Crosse</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>507</th>\n",
       "      <td>Wisconsin</td>\n",
       "      <td>Madison</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>508</th>\n",
       "      <td>Wisconsin</td>\n",
       "      <td>Menomonie</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>509</th>\n",
       "      <td>Wisconsin</td>\n",
       "      <td>Milwaukee</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>510</th>\n",
       "      <td>Wisconsin</td>\n",
       "      <td>Oshkosh</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>511</th>\n",
       "      <td>Wisconsin</td>\n",
       "      <td>Platteville</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>512</th>\n",
       "      <td>Wisconsin</td>\n",
       "      <td>River Falls</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>513</th>\n",
       "      <td>Wisconsin</td>\n",
       "      <td>Stevens Point</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>514</th>\n",
       "      <td>Wisconsin</td>\n",
       "      <td>Waukesha</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>515</th>\n",
       "      <td>Wisconsin</td>\n",
       "      <td>Whitewater</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>516</th>\n",
       "      <td>Wyoming</td>\n",
       "      <td>Laramie</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>517 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "             State                    RegionName\n",
       "0          Alabama                        Auburn\n",
       "1          Alabama                      Florence\n",
       "2          Alabama                  Jacksonville\n",
       "3          Alabama                    Livingston\n",
       "4          Alabama                    Montevallo\n",
       "5          Alabama                          Troy\n",
       "6          Alabama                    Tuscaloosa\n",
       "7          Alabama                      Tuskegee\n",
       "8           Alaska                     Fairbanks\n",
       "9          Arizona                     Flagstaff\n",
       "10         Arizona                         Tempe\n",
       "11         Arizona                        Tucson\n",
       "12        Arkansas                   Arkadelphia\n",
       "13        Arkansas                        Conway\n",
       "14        Arkansas                  Fayetteville\n",
       "15        Arkansas                     Jonesboro\n",
       "16        Arkansas                      Magnolia\n",
       "17        Arkansas                    Monticello\n",
       "18        Arkansas                  Russellville\n",
       "19        Arkansas                        Searcy\n",
       "20      California                        Angwin\n",
       "21      California                        Arcata\n",
       "22      California                      Berkeley\n",
       "23      California                         Chico\n",
       "24      California                     Claremont\n",
       "25      California                        Cotati\n",
       "26      California                         Davis\n",
       "27      California                        Irvine\n",
       "28      California                    Isla Vista\n",
       "29      California  University Park, Los Angeles\n",
       "..             ...                           ...\n",
       "487       Virginia                          Wise\n",
       "488       Virginia                    Chesapeake\n",
       "489     Washington                    Bellingham\n",
       "490     Washington                        Cheney\n",
       "491     Washington                    Ellensburg\n",
       "492     Washington                       Pullman\n",
       "493     Washington  University District, Seattle\n",
       "494  West Virginia                        Athens\n",
       "495  West Virginia                    Buckhannon\n",
       "496  West Virginia                      Fairmont\n",
       "497  West Virginia                     Glenville\n",
       "498  West Virginia                    Huntington\n",
       "499  West Virginia                    Montgomery\n",
       "500  West Virginia                    Morgantown\n",
       "501  West Virginia                 Shepherdstown\n",
       "502  West Virginia                  West Liberty\n",
       "503      Wisconsin                      Appleton\n",
       "504      Wisconsin                    Eau Claire\n",
       "505      Wisconsin                     Green Bay\n",
       "506      Wisconsin                     La Crosse\n",
       "507      Wisconsin                       Madison\n",
       "508      Wisconsin                     Menomonie\n",
       "509      Wisconsin                     Milwaukee\n",
       "510      Wisconsin                       Oshkosh\n",
       "511      Wisconsin                   Platteville\n",
       "512      Wisconsin                   River Falls\n",
       "513      Wisconsin                 Stevens Point\n",
       "514      Wisconsin                      Waukesha\n",
       "515      Wisconsin                    Whitewater\n",
       "516        Wyoming                       Laramie\n",
       "\n",
       "[517 rows x 2 columns]"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def get_list_of_university_towns():\n",
    "    '''Returns a DataFrame of towns and the states they are in from the \n",
    "    university_towns.txt list. The format of the DataFrame should be:\n",
    "    DataFrame( [ [\"Michigan\", \"Ann Arbor\"], [\"Michigan\", \"Ypsilanti\"] ], \n",
    "    columns=[\"State\", \"RegionName\"]  )\n",
    "\n",
    "    The following cleaning needs to be done:\n",
    "\n",
    "    1. For \"State\", removing characters from \"[\" to the end.\n",
    "    2. For \"RegionName\", when applicable, removing every character from \" (\" to the end.\n",
    "    3. Depending on how you read the data, you may need to remove newline character '\\n'. '''\n",
    "    builder = UniversityData(UniversitySettings)\n",
    "    return builder.data\n",
    "\n",
    "output = get_list_of_university_towns()\n",
    "output\n",
    "#assert output[output.RegionName.str.startswith(\"Ann Arbor\")].State.iloc[0] == \"Michigan\"\n",
    "#assert output[output.RegionName.str.startswith(\"Ypsilanti\")].State.iloc[0] == \"Michigan\"\n",
    "#if DEBUG:\n",
    "#    print(output[output.State.str.startswith(\"Michigan\")].iloc[:5])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "class GDPSettings(object):\n",
    "    \"\"\"holder of settings to load and clean the data\"\"\"\n",
    "    source = GDP_DATA\n",
    "    skip_rows = 8\n",
    "    columns = [\"Year\", \"Annual GDP Current Billions\",\n",
    "            \"Annual GDP 2009 Billions\", \"to_delete\", \"YearQuarter\",\n",
    "            \"Quarterly GDP Current Billions\", \"Quarterly GDP 2009 Billions\",\n",
    "            \"to_delete\"]\n",
    "    quarterly_column = \"Quarterly GDP 2009 Billions\"\n",
    "    first_quarter = \"2000q1\"\n",
    "    delete_columns = \"to_delete\"\n",
    "    \n",
    "class GDPData(BaseData):\n",
    "    \"\"\"GDP Data Loader and cleaner\"\"\"\n",
    "    @property\n",
    "    def data(self):\n",
    "        if self._data is None:\n",
    "            self._data = pandas.read_excel(self.settings.source,\n",
    "                    skiprows=self.settings.skip_rows,\n",
    "                    names=self.settings.columns)\n",
    "            self._data = self._data.drop(self.settings.delete_columns,\n",
    "                    axis=COLUMN_AXIS)\n",
    "        return self._data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nEBMTg6WlJV5eXrz66quMHTuWIUOGMHnyZBYvXsySJUuIiorSq+X48eNMmTKF1NRU5s2bR+/evUlL\nS+Pzzz/nr7/+IjMzE2dnZwYOHKj375Onpyevv/46EyZMuO/+FaJa0N4HpVKpnTBhgtbDw0N74sQJ\nrVar1WZmZmpTU1N1/50+fVrbsmVL7Z9//qnVarXa69eva319fbUrVqzQxsTEaN98801tcHCwbp87\nduzQBgUFaf/66y9tZGSktnfv3tqPPvpI1/7hhx9q+/btqz1//rx29+7dWn9/f+3OnTvvp3whRA0R\nExOj/fTTTyu7DCHE38p9puLy5cu6W8EuXLjAqlWrCAoKKrLe6NGjcXBw4OOPPwZg4cKFhIaGsmrV\nKqDwOnC7du1YunQpQUFBvPTSS7Rt21aX5MPCwhg9ejTHjx9Ho9HQpk0bvv/+ewIDA4HC68JHjx7V\n7U8IIYQQlavcAzVPnDhB27Zt2bBhQ7GjnQGOHj1KWFgYb731lm5ZRESEXvgwMzPDy8uL8PBwNBoN\nkZGRusAA4OvrS35+PtHR0URHR6NWq3UT5wAEBARw5syZ8pYvhBBCiIek3AM1hw4des91li1bRv/+\n/fXug7958yZ169bVW8/e3p7k5GTu3LmDUqnUazc0NMTW1pakpCQUCgW2trYYGf1Trp2dHUqlktu3\nb5frdjohhBBCPBwVfvdHQkICx44dY/r06XrL8/LyikyiY2JigkqlIi8vT/e6uHaNRlNsGxSdAa84\nBQUFZGRkYGpqWuZpjIUQQghReKu1UqmkVq1ael/ui1PhoWLXrl14enrq3QMOYGpqWiQAqFQqbGxs\nSgwIKpUKc3NzCgoKim2De894B4VPEYyLiyvvoQghhBDib66urtjZ2ZW6ToWHioMHDxb7ZEFHR0dS\nUlL0lqWmpuLp6Unt2rUxNTUlNTUVNzc3oPC++vT0dBwcHNBoNKSnp6PRaHRnGlJTUzEzM8PGxuae\nNd29LdXe3r7Yhxc97pRKJYmJiTg5Oen6SvxD+qdk0jelk/4pmfRN6apS/9ytpSx1VHioiIyM5NVX\nXy2y3MfHh1OnTule5+bmEhUVxRtvvIFCoaBFixaEhYXpBnOGh4djbGyMh4cHWq0WIyMjTp8+jb+/\nPwChoaE0b968TDXdDSJWVlb3TFmPo5ycHBITE7G1tZXnExRD+qdk0jelk/4pmfRN6apS/9ytpSzD\n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\nfV9Lc2O+n/Z0mYLF3W/2lpaWxbbXqlULKDyjcS9OTk6MHz+ewMBALCwsGDx4MIsWLeLSpUu6UNG5\nc2e9b88GBga6U+qbN2/Gzs6OiRMnAuDi4sIrr7zCypUrdaHCzs6OQYMGFfv+vXr1YseOHXqh4v33\n3y/xuO8eGxR+gLZu3RqFQqG7JPPHH39Qr169Eo/X2toagOzsbN2ypUuX8v333+v2aWRkRHBwMC+/\n/LLu23lJIiIi+OSTTxgzZgx2dna6QZUmJia6de7+WaVSkZubW+QMiImJie59evXqxWuvvUbv3r1p\n3749v/zyC2fPnqV169Yl1vDv+u+O61i4cGGpdZfmwIED3Lx5ky1btmBlZUWTJk2YMWMGr776Km+9\n9RZQeAlsxowZxMXF4enpyY8//khkZCRt27blxo0beHt74+TkhIuLC8uWLSv26cVCiJpFQkU1dfdb\na3JyMvXr1y/SfufOHeCfD9DSBAYGkpiYyKJFi4iPj+f8+fPcunULjUajW8fZ2bnE7S9fvkx0dDR+\nfn66ZRqNRu+Ds0GDBiVu/+yzz7Jy5UoyMjK4evUq6enpdOjQodh1a9WqRWbmP2eQTExMdHdOJCUl\nMXz4cL26i5OVlQWgN8Zg6NChujMgxsbG2NvbY2RU+NejtFARHh7OuHHj6NixI2+88QYApqamQGGA\n+HeYADA3N8fU1LTIPlUqle6SRfv27Xn99deZOHEiGo2G1q1b069fP73j/q9/15+dnc2BAwd48803\n+e6772jTpk2p/VGc2NhY3Nzc9PrIz88PtVqtG6BrZ2eHubm5rt3S0lJ3XGPGjGHKlCns3r2bDh06\n0LNnT7p161buOoQQ1YuEimLcPWNQlS9/eHt7Y2hoyNmzZ4sNFadOncLNzQ0zM7NiL30UFBToPjS3\nbt3KggULGDBgAD169OD999/X3XJ417+/df+XWq2mbdu2hISElLhOadt7eHjQqFEj9uzZw5UrV+ja\ntWuJ67ds2bLI2IK7lzAMDAzKNIA0OjoahUKhd2mgVq1axV4KKc3x48d55ZVXaN++PZ999pluuaOj\nIwCpqam6n01KSgoKhQIHBwccHR1JSUnR21dqaioODg661+PHj2fUqFFkZmZSp04d3nzzzVKD3X/r\n9/Dw4Pjx46xbt+6+QsXdYPRvGo0GrVarC23FjTe52//BwcE8+eST7Nmzh3379vHmm28yduxYJk2a\n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\nTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1fc2bb59128>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "if DEBUG:\n",
    "    data = GDPData(GDPSettings).data\n",
    "    data = data.iloc[data[data.YearQuarter==GDPSettings.first_quarter].index[0]:]\n",
    "    axis = data.plot(x=\"YearQuarter\", y=GDPSettings.quarterly_column)\n",
    "    axis.set_title(\"GDP vs Quarter\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>State</th>\n",
       "      <th>RegionName</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Alabama</td>\n",
       "      <td>Auburn</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Alabama</td>\n",
       "      <td>Florence</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Alabama</td>\n",
       "      <td>Jacksonville</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Alabama</td>\n",
       "      <td>Livingston</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Alabama</td>\n",
       "      <td>Montevallo</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Alabama</td>\n",
       "      <td>Troy</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>Alabama</td>\n",
       "      <td>Tuscaloosa</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>Alabama</td>\n",
       "      <td>Tuskegee</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>Alaska</td>\n",
       "      <td>Fairbanks</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>Arizona</td>\n",
       "      <td>Flagstaff</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>Arizona</td>\n",
       "      <td>Tempe</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>Arizona</td>\n",
       "      <td>Tucson</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>Arkansas</td>\n",
       "      <td>Arkadelphia</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>Arkansas</td>\n",
       "      <td>Conway</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>Arkansas</td>\n",
       "      <td>Fayetteville</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>Arkansas</td>\n",
       "      <td>Jonesboro</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>Arkansas</td>\n",
       "      <td>Magnolia</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>Arkansas</td>\n",
       "      <td>Monticello</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>Arkansas</td>\n",
       "      <td>Russellville</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>Arkansas</td>\n",
       "      <td>Searcy</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>California</td>\n",
       "      <td>Angwin</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>California</td>\n",
       "      <td>Arcata</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>California</td>\n",
       "      <td>Berkeley</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>California</td>\n",
       "      <td>Chico</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>California</td>\n",
       "      <td>Claremont</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>California</td>\n",
       "      <td>Cotati</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>California</td>\n",
       "      <td>Davis</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>California</td>\n",
       "      <td>Irvine</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>California</td>\n",
       "      <td>Isla Vista</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>California</td>\n",
       "      <td>University Park, Los Angeles</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>487</th>\n",
       "      <td>Virginia</td>\n",
       "      <td>Wise</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>488</th>\n",
       "      <td>Virginia</td>\n",
       "      <td>Chesapeake</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>489</th>\n",
       "      <td>Washington</td>\n",
       "      <td>Bellingham</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>490</th>\n",
       "      <td>Washington</td>\n",
       "      <td>Cheney</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>491</th>\n",
       "      <td>Washington</td>\n",
       "      <td>Ellensburg</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>492</th>\n",
       "      <td>Washington</td>\n",
       "      <td>Pullman</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>493</th>\n",
       "      <td>Washington</td>\n",
       "      <td>University District, Seattle</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>494</th>\n",
       "      <td>West Virginia</td>\n",
       "      <td>Athens</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>495</th>\n",
       "      <td>West Virginia</td>\n",
       "      <td>Buckhannon</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>496</th>\n",
       "      <td>West Virginia</td>\n",
       "      <td>Fairmont</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>497</th>\n",
       "      <td>West Virginia</td>\n",
       "      <td>Glenville</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>498</th>\n",
       "      <td>West Virginia</td>\n",
       "      <td>Huntington</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>499</th>\n",
       "      <td>West Virginia</td>\n",
       "      <td>Montgomery</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>500</th>\n",
       "      <td>West Virginia</td>\n",
       "      <td>Morgantown</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>501</th>\n",
       "      <td>West Virginia</td>\n",
       "      <td>Shepherdstown</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>502</th>\n",
       "      <td>West Virginia</td>\n",
       "      <td>West Liberty</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>503</th>\n",
       "      <td>Wisconsin</td>\n",
       "      <td>Appleton</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>504</th>\n",
       "      <td>Wisconsin</td>\n",
       "      <td>Eau Claire</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>505</th>\n",
       "      <td>Wisconsin</td>\n",
       "      <td>Green Bay</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>506</th>\n",
       "      <td>Wisconsin</td>\n",
       "      <td>La Crosse</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>507</th>\n",
       "      <td>Wisconsin</td>\n",
       "      <td>Madison</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>508</th>\n",
       "      <td>Wisconsin</td>\n",
       "      <td>Menomonie</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>509</th>\n",
       "      <td>Wisconsin</td>\n",
       "      <td>Milwaukee</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>510</th>\n",
       "      <td>Wisconsin</td>\n",
       "      <td>Oshkosh</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>511</th>\n",
       "      <td>Wisconsin</td>\n",
       "      <td>Platteville</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>512</th>\n",
       "      <td>Wisconsin</td>\n",
       "      <td>River Falls</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>513</th>\n",
       "      <td>Wisconsin</td>\n",
       "      <td>Stevens Point</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>514</th>\n",
       "      <td>Wisconsin</td>\n",
       "      <td>Waukesha</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>515</th>\n",
       "      <td>Wisconsin</td>\n",
       "      <td>Whitewater</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>516</th>\n",
       "      <td>Wyoming</td>\n",
       "      <td>Laramie</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>517 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "             State                    RegionName\n",
       "0          Alabama                        Auburn\n",
       "1          Alabama                      Florence\n",
       "2          Alabama                  Jacksonville\n",
       "3          Alabama                    Livingston\n",
       "4          Alabama                    Montevallo\n",
       "5          Alabama                          Troy\n",
       "6          Alabama                    Tuscaloosa\n",
       "7          Alabama                      Tuskegee\n",
       "8           Alaska                     Fairbanks\n",
       "9          Arizona                     Flagstaff\n",
       "10         Arizona                         Tempe\n",
       "11         Arizona                        Tucson\n",
       "12        Arkansas                   Arkadelphia\n",
       "13        Arkansas                        Conway\n",
       "14        Arkansas                  Fayetteville\n",
       "15        Arkansas                     Jonesboro\n",
       "16        Arkansas                      Magnolia\n",
       "17        Arkansas                    Monticello\n",
       "18        Arkansas                  Russellville\n",
       "19        Arkansas                        Searcy\n",
       "20      California                        Angwin\n",
       "21      California                        Arcata\n",
       "22      California                      Berkeley\n",
       "23      California                         Chico\n",
       "24      California                     Claremont\n",
       "25      California                        Cotati\n",
       "26      California                         Davis\n",
       "27      California                        Irvine\n",
       "28      California                    Isla Vista\n",
       "29      California  University Park, Los Angeles\n",
       "..             ...                           ...\n",
       "487       Virginia                          Wise\n",
       "488       Virginia                    Chesapeake\n",
       "489     Washington                    Bellingham\n",
       "490     Washington                        Cheney\n",
       "491     Washington                    Ellensburg\n",
       "492     Washington                       Pullman\n",
       "493     Washington  University District, Seattle\n",
       "494  West Virginia                        Athens\n",
       "495  West Virginia                    Buckhannon\n",
       "496  West Virginia                      Fairmont\n",
       "497  West Virginia                     Glenville\n",
       "498  West Virginia                    Huntington\n",
       "499  West Virginia                    Montgomery\n",
       "500  West Virginia                    Morgantown\n",
       "501  West Virginia                 Shepherdstown\n",
       "502  West Virginia                  West Liberty\n",
       "503      Wisconsin                      Appleton\n",
       "504      Wisconsin                    Eau Claire\n",
       "505      Wisconsin                     Green Bay\n",
       "506      Wisconsin                     La Crosse\n",
       "507      Wisconsin                       Madison\n",
       "508      Wisconsin                     Menomonie\n",
       "509      Wisconsin                     Milwaukee\n",
       "510      Wisconsin                       Oshkosh\n",
       "511      Wisconsin                   Platteville\n",
       "512      Wisconsin                   River Falls\n",
       "513      Wisconsin                 Stevens Point\n",
       "514      Wisconsin                      Waukesha\n",
       "515      Wisconsin                    Whitewater\n",
       "516        Wyoming                       Laramie\n",
       "\n",
       "[517 rows x 2 columns]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def get_list_of_university_towns():\n",
    "    '''Returns a DataFrame of towns and the states they are in from the \n",
    "    university_towns.txt list. The format of the DataFrame should be:\n",
    "    DataFrame( [ [\"Michigan\", \"Ann Arbor\"], [\"Michigan\", \"Yipsilanti\"] ], \n",
    "    columns=[\"State\", \"RegionName\"]  )\n",
    "    \n",
    "    The following cleaning needs to be done:\n",
    "\n",
    "    1. For \"State\", removing characters from \"[\" to the end.\n",
    "    2. For \"RegionName\", when applicable, removing every character from \" (\" to the end.\n",
    "    3. Depending on how you read the data, you may need to remove newline character '\\n'. '''\n",
    "    df1=pd.read_table('university_towns.txt',header=None)\n",
    "    df1.columns=['name']\n",
    "    #df1['name'].replace(to_replace='\\[\\w+\\]',value='', regex=True,inplace=True)\n",
    "    df1['name'].replace(to_replace='\\s\\(\\D+\\S+',value='', regex=True,inplace=True)   \n",
    "    df1['name'].replace(to_replace='Pomona and formerly Pomona College',value='Pomona', regex=True,inplace=True)   \n",
    "    df1['name'].replace(to_replace='Mankato Bethany Lutheran College',value='Mankato', regex=True,inplace=True)   \n",
    "    list1=[]\n",
    "    columns=[\"State\", \"RegionName\"]\n",
    "    mydf = pd.DataFrame(columns=columns) \n",
    "    for a1 in df1['name']:\n",
    "        if '[edit]' in a1:\n",
    "            c1=a1.replace('[edit]','')\n",
    "        \n",
    "        else:\n",
    "            c2=a1\n",
    "            c3=[c1,c2]\n",
    "            #print (len(mydf))\n",
    "            mydf.loc[len(mydf)] = c3\n",
    "    return  mydf\n",
    "get_list_of_university_towns()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def set_res(row):\n",
    "    if row[\"diff\"] > 0:\n",
    "        return \"a\"\n",
    "    else:\n",
    "        return \"b\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'2008q3'"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def get_recession_start():\n",
    "    '''Returns the year and quarter of the recession start time as a \n",
    "    string value in a format such as 2005q3'''\n",
    "    df1=pd.read_excel('gdplev.xls',skiprows=220,header=None)\n",
    "    df1=df1.ix[:,4:6]\n",
    "    df1.drop(5, axis=1, inplace=True)\n",
    "    df1['diff']=df1[6].diff()\n",
    "    df1=df1.assign(res=df1.apply(set_res,axis=1))\n",
    "    for i in df1.index:\n",
    "        if i < len(df1)-1:\n",
    "        #print(df1.ix[i])\n",
    "            if df1.ix[i+1,3]=='b' and df1.ix[i,3]=='b':\n",
    "                str1= df1.ix[i,0]\n",
    "                #print (i)\n",
    "                break\n",
    "    return str1\n",
    "get_recession_start()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'2009q4'"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def get_recession_end():\n",
    "    '''Returns the year and quarter of the recession end time as a \n",
    "    string value in a format such as 2005q3'''\n",
    "    df1=pd.read_excel('gdplev.xls',skiprows=220,header=None)\n",
    "    df1=df1.ix[:,4:6]\n",
    "    df1.drop(5, axis=1, inplace=True)\n",
    "    df1['diff']=df1[6].diff()\n",
    "    df1=df1.assign(res=df1.apply(set_res,axis=1))\n",
    "\n",
    "    for i in df1.index:\n",
    "        if i < len(df1)-1:\n",
    "        #print(df1.ix[i])\n",
    "            if df1.ix[i+1,3]=='b' and df1.ix[i,3]=='b':\n",
    "                str2= i\n",
    "                break\n",
    "    for i in df1.index:\n",
    "        if i >  str2 and df1.ix[i+1,3]=='a' and df1.ix[i,3]=='a':\n",
    "            str3=df1.ix[i+1,0]\n",
    "            break\n",
    "            \n",
    "    return str3\n",
    "get_recession_end()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'2009q2'"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def get_recession_bottom():\n",
    "    '''Returns the year and quarter of the recession bottom time as a \n",
    "    string value in a format such as 2005q3'''\n",
    "    df1=pd.read_excel('gdplev.xls',skiprows=220,header=None)\n",
    "    df1=df1.ix[:,4:6]\n",
    "    df1.drop(5, axis=1, inplace=True)\n",
    "    df1['diff']=df1[6].diff()\n",
    "    df1=df1.assign(res=df1.apply(set_res,axis=1))\n",
    "\n",
    "    for i in df1.index:\n",
    "        if i < len(df1)-1:\n",
    "        #print(df1.ix[i])\n",
    "            if df1.ix[i+1,3]=='b' and df1.ix[i,3]=='b':\n",
    "                str2= i\n",
    "                #print (str2)\n",
    "                break\n",
    "    for i in df1.index:\n",
    "        if i >  str2 and df1.ix[i+1,3]=='a' and df1.ix[i,3]=='a':\n",
    "            str3=i\n",
    "            #print (str3)\n",
    "            break\n",
    "    for i in df1.index:\n",
    "        if i > str2 and i < str3 and df1.ix[i,3]=='b' and df1.ix[i+1,3]=='a':\n",
    "            str4=df1.ix[i,0]\n",
    "            break\n",
    "    \n",
    "            \n",
    "    return str4\n",
    "get_recession_bottom()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(10730, 67)"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dfc1=pd.read_csv('City_Zhvi_AllHomes.csv')\n",
    "dfc1.drop('RegionID', axis=1, inplace=True)\n",
    "dfc1=dfc1.replace(np.NaN,0)\n",
    "df2=dfc1.ix[:,[1,0,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249\n",
    "]]\n",
    "df2.set_index(['State','RegionName'],inplace=True)\n",
    "df2.columns = pd.to_datetime(df2.columns)\n",
    "df3=df2.resample('Q', axis=1 ).mean()\n",
    "df3.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>2000q1</th>\n",
       "      <th>2000q2</th>\n",
       "      <th>2000q3</th>\n",
       "      <th>2000q4</th>\n",
       "      <th>2001q1</th>\n",
       "      <th>2001q2</th>\n",
       "      <th>2001q3</th>\n",
       "      <th>2001q4</th>\n",
       "      <th>2002q1</th>\n",
       "      <th>2002q2</th>\n",
       "      <th>...</th>\n",
       "      <th>2014q2</th>\n",
       "      <th>2014q3</th>\n",
       "      <th>2014q4</th>\n",
       "      <th>2015q1</th>\n",
       "      <th>2015q2</th>\n",
       "      <th>2015q3</th>\n",
       "      <th>2015q4</th>\n",
       "      <th>2016q1</th>\n",
       "      <th>2016q2</th>\n",
       "      <th>2016q3</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>State</th>\n",
       "      <th>RegionName</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>NY</th>\n",
       "      <th>New York</th>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>...</td>\n",
       "      <td>5.154667e+05</td>\n",
       "      <td>5.228000e+05</td>\n",
       "      <td>5.280667e+05</td>\n",
       "      <td>5.322667e+05</td>\n",
       "      <td>5.408000e+05</td>\n",
       "      <td>5.572000e+05</td>\n",
       "      <td>5.728333e+05</td>\n",
       "      <td>5.828667e+05</td>\n",
       "      <td>5.916333e+05</td>\n",
       "      <td>587200.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CA</th>\n",
       "      <th>Los Angeles</th>\n",
       "      <td>2.070667e+05</td>\n",
       "      <td>2.144667e+05</td>\n",
       "      <td>2.209667e+05</td>\n",
       "      <td>2.261667e+05</td>\n",
       "      <td>2.330000e+05</td>\n",
       "      <td>2.391000e+05</td>\n",
       "      <td>2.450667e+05</td>\n",
       "      <td>2.530333e+05</td>\n",
       "      <td>2.619667e+05</td>\n",
       "      <td>2.727000e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>4.980333e+05</td>\n",
       "      <td>5.090667e+05</td>\n",
       "      <td>5.188667e+05</td>\n",
       "      <td>5.288000e+05</td>\n",
       "      <td>5.381667e+05</td>\n",
       "      <td>5.472667e+05</td>\n",
       "      <td>5.577333e+05</td>\n",
       "      <td>5.660333e+05</td>\n",
       "      <td>5.774667e+05</td>\n",
       "      <td>584050.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>IL</th>\n",
       "      <th>Chicago</th>\n",
       "      <td>1.384000e+05</td>\n",
       "      <td>1.436333e+05</td>\n",
       "      <td>1.478667e+05</td>\n",
       "      <td>1.521333e+05</td>\n",
       "      <td>1.569333e+05</td>\n",
       "      <td>1.618000e+05</td>\n",
       "      <td>1.664000e+05</td>\n",
       "      <td>1.704333e+05</td>\n",
       "      <td>1.755000e+05</td>\n",
       "      <td>1.775667e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>1.926333e+05</td>\n",
       "      <td>1.957667e+05</td>\n",
       "      <td>2.012667e+05</td>\n",
       "      <td>2.010667e+05</td>\n",
       "      <td>2.060333e+05</td>\n",
       "      <td>2.083000e+05</td>\n",
       "      <td>2.079000e+05</td>\n",
       "      <td>2.060667e+05</td>\n",
       "      <td>2.082000e+05</td>\n",
       "      <td>212000.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PA</th>\n",
       "      <th>Philadelphia</th>\n",
       "      <td>5.300000e+04</td>\n",
       "      <td>5.363333e+04</td>\n",
       "      <td>5.413333e+04</td>\n",
       "      <td>5.470000e+04</td>\n",
       "      <td>5.533333e+04</td>\n",
       "      <td>5.553333e+04</td>\n",
       "      <td>5.626667e+04</td>\n",
       "      <td>5.753333e+04</td>\n",
       "      <td>5.913333e+04</td>\n",
       "      <td>6.073333e+04</td>\n",
       "      <td>...</td>\n",
       "      <td>1.137333e+05</td>\n",
       "      <td>1.153000e+05</td>\n",
       "      <td>1.156667e+05</td>\n",
       "      <td>1.162000e+05</td>\n",
       "      <td>1.179667e+05</td>\n",
       "      <td>1.212333e+05</td>\n",
       "      <td>1.222000e+05</td>\n",
       "      <td>1.234333e+05</td>\n",
       "      <td>1.269333e+05</td>\n",
       "      <td>128700.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AZ</th>\n",
       "      <th>Phoenix</th>\n",
       "      <td>1.118333e+05</td>\n",
       "      <td>1.143667e+05</td>\n",
       "      <td>1.160000e+05</td>\n",
       "      <td>1.174000e+05</td>\n",
       "      <td>1.196000e+05</td>\n",
       "      <td>1.215667e+05</td>\n",
       "      <td>1.227000e+05</td>\n",
       "      <td>1.243000e+05</td>\n",
       "      <td>1.265333e+05</td>\n",
       "      <td>1.283667e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>1.642667e+05</td>\n",
       "      <td>1.653667e+05</td>\n",
       "      <td>1.685000e+05</td>\n",
       "      <td>1.715333e+05</td>\n",
       "      <td>1.741667e+05</td>\n",
       "      <td>1.790667e+05</td>\n",
       "      <td>1.838333e+05</td>\n",
       "      <td>1.879000e+05</td>\n",
       "      <td>1.914333e+05</td>\n",
       "      <td>195200.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>NV</th>\n",
       "      <th>Las Vegas</th>\n",
       "      <td>1.326000e+05</td>\n",
       "      <td>1.343667e+05</td>\n",
       "      <td>1.354000e+05</td>\n",
       "      <td>1.370000e+05</td>\n",
       "      <td>1.395333e+05</td>\n",
       "      <td>1.417333e+05</td>\n",
       "      <td>1.433667e+05</td>\n",
       "      <td>1.461333e+05</td>\n",
       "      <td>1.493333e+05</td>\n",
       "      <td>1.509333e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>1.700667e+05</td>\n",
       "      <td>1.734000e+05</td>\n",
       "      <td>1.754667e+05</td>\n",
       "      <td>1.775000e+05</td>\n",
       "      <td>1.816000e+05</td>\n",
       "      <td>1.867667e+05</td>\n",
       "      <td>1.906333e+05</td>\n",
       "      <td>1.946000e+05</td>\n",
       "      <td>1.972000e+05</td>\n",
       "      <td>199950.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CA</th>\n",
       "      <th>San Diego</th>\n",
       "      <td>2.229000e+05</td>\n",
       "      <td>2.343667e+05</td>\n",
       "      <td>2.454333e+05</td>\n",
       "      <td>2.560333e+05</td>\n",
       "      <td>2.672000e+05</td>\n",
       "      <td>2.762667e+05</td>\n",
       "      <td>2.845000e+05</td>\n",
       "      <td>2.919333e+05</td>\n",
       "      <td>3.012333e+05</td>\n",
       "      <td>3.128667e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>4.802000e+05</td>\n",
       "      <td>4.890333e+05</td>\n",
       "      <td>4.964333e+05</td>\n",
       "      <td>5.033667e+05</td>\n",
       "      <td>5.120667e+05</td>\n",
       "      <td>5.197667e+05</td>\n",
       "      <td>5.254667e+05</td>\n",
       "      <td>5.293333e+05</td>\n",
       "      <td>5.362333e+05</td>\n",
       "      <td>539750.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>TX</th>\n",
       "      <th>Dallas</th>\n",
       "      <td>8.446667e+04</td>\n",
       "      <td>8.386667e+04</td>\n",
       "      <td>8.486667e+04</td>\n",
       "      <td>8.783333e+04</td>\n",
       "      <td>8.973333e+04</td>\n",
       "      <td>8.930000e+04</td>\n",
       "      <td>8.906667e+04</td>\n",
       "      <td>9.090000e+04</td>\n",
       "      <td>9.256667e+04</td>\n",
       "      <td>9.380000e+04</td>\n",
       "      <td>...</td>\n",
       "      <td>1.066333e+05</td>\n",
       "      <td>1.089000e+05</td>\n",
       "      <td>1.115333e+05</td>\n",
       "      <td>1.137000e+05</td>\n",
       "      <td>1.211333e+05</td>\n",
       "      <td>1.285667e+05</td>\n",
       "      <td>1.346000e+05</td>\n",
       "      <td>1.405000e+05</td>\n",
       "      <td>1.446000e+05</td>\n",
       "      <td>149300.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CA</th>\n",
       "      <th>San Jose</th>\n",
       "      <td>3.742667e+05</td>\n",
       "      <td>4.065667e+05</td>\n",
       "      <td>4.318667e+05</td>\n",
       "      <td>4.555000e+05</td>\n",
       "      <td>4.706667e+05</td>\n",
       "      <td>4.702000e+05</td>\n",
       "      <td>4.568000e+05</td>\n",
       "      <td>4.455667e+05</td>\n",
       "      <td>4.414333e+05</td>\n",
       "      <td>4.577667e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>6.794000e+05</td>\n",
       "      <td>6.970333e+05</td>\n",
       "      <td>7.149333e+05</td>\n",
       "      <td>7.314333e+05</td>\n",
       "      <td>7.567333e+05</td>\n",
       "      <td>7.764000e+05</td>\n",
       "      <td>7.891333e+05</td>\n",
       "      <td>8.036000e+05</td>\n",
       "      <td>8.189333e+05</td>\n",
       "      <td>822200.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FL</th>\n",
       "      <th>Jacksonville</th>\n",
       "      <td>8.860000e+04</td>\n",
       "      <td>8.970000e+04</td>\n",
       "      <td>9.170000e+04</td>\n",
       "      <td>9.310000e+04</td>\n",
       "      <td>9.440000e+04</td>\n",
       "      <td>9.560000e+04</td>\n",
       "      <td>9.706667e+04</td>\n",
       "      <td>9.906667e+04</td>\n",
       "      <td>1.012333e+05</td>\n",
       "      <td>1.034333e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>1.207667e+05</td>\n",
       "      <td>1.217333e+05</td>\n",
       "      <td>1.231667e+05</td>\n",
       "      <td>1.241667e+05</td>\n",
       "      <td>1.269000e+05</td>\n",
       "      <td>1.301333e+05</td>\n",
       "      <td>1.320000e+05</td>\n",
       "      <td>1.339667e+05</td>\n",
       "      <td>1.372000e+05</td>\n",
       "      <td>139900.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CA</th>\n",
       "      <th>San Francisco</th>\n",
       "      <td>4.305000e+05</td>\n",
       "      <td>4.644667e+05</td>\n",
       "      <td>4.835333e+05</td>\n",
       "      <td>4.930000e+05</td>\n",
       "      <td>4.940667e+05</td>\n",
       "      <td>4.961333e+05</td>\n",
       "      <td>5.041000e+05</td>\n",
       "      <td>5.134000e+05</td>\n",
       "      <td>5.204333e+05</td>\n",
       "      <td>5.381667e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>9.269333e+05</td>\n",
       "      <td>9.545333e+05</td>\n",
       "      <td>9.687667e+05</td>\n",
       "      <td>1.000733e+06</td>\n",
       "      <td>1.060800e+06</td>\n",
       "      <td>1.095100e+06</td>\n",
       "      <td>1.105467e+06</td>\n",
       "      <td>1.121767e+06</td>\n",
       "      <td>1.119267e+06</td>\n",
       "      <td>1106400.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>TX</th>\n",
       "      <th>Austin</th>\n",
       "      <td>1.429667e+05</td>\n",
       "      <td>1.452667e+05</td>\n",
       "      <td>1.494667e+05</td>\n",
       "      <td>1.557333e+05</td>\n",
       "      <td>1.612333e+05</td>\n",
       "      <td>1.607333e+05</td>\n",
       "      <td>1.595333e+05</td>\n",
       "      <td>1.600333e+05</td>\n",
       "      <td>1.589667e+05</td>\n",
       "      <td>1.575000e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>2.488667e+05</td>\n",
       "      <td>2.528000e+05</td>\n",
       "      <td>2.581333e+05</td>\n",
       "      <td>2.665000e+05</td>\n",
       "      <td>2.750333e+05</td>\n",
       "      <td>2.816333e+05</td>\n",
       "      <td>2.872333e+05</td>\n",
       "      <td>2.935000e+05</td>\n",
       "      <td>3.014333e+05</td>\n",
       "      <td>304450.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>MI</th>\n",
       "      <th>Detroit</th>\n",
       "      <td>6.616667e+04</td>\n",
       "      <td>6.830000e+04</td>\n",
       "      <td>6.676667e+04</td>\n",
       "      <td>6.703333e+04</td>\n",
       "      <td>6.750000e+04</td>\n",
       "      <td>6.836667e+04</td>\n",
       "      <td>6.926667e+04</td>\n",
       "      <td>6.996667e+04</td>\n",
       "      <td>7.100000e+04</td>\n",
       "      <td>7.233333e+04</td>\n",
       "      <td>...</td>\n",
       "      <td>3.730000e+04</td>\n",
       "      <td>3.710000e+04</td>\n",
       "      <td>3.713333e+04</td>\n",
       "      <td>3.620000e+04</td>\n",
       "      <td>3.583333e+04</td>\n",
       "      <td>3.706667e+04</td>\n",
       "      <td>3.836667e+04</td>\n",
       "      <td>3.796667e+04</td>\n",
       "      <td>3.746667e+04</td>\n",
       "      <td>37900.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>OH</th>\n",
       "      <th>Columbus</th>\n",
       "      <td>9.436667e+04</td>\n",
       "      <td>9.583333e+04</td>\n",
       "      <td>9.713333e+04</td>\n",
       "      <td>9.826667e+04</td>\n",
       "      <td>9.940000e+04</td>\n",
       "      <td>1.002667e+05</td>\n",
       "      <td>1.010667e+05</td>\n",
       "      <td>1.022000e+05</td>\n",
       "      <td>1.034000e+05</td>\n",
       "      <td>1.048000e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>1.031333e+05</td>\n",
       "      <td>1.045000e+05</td>\n",
       "      <td>1.064333e+05</td>\n",
       "      <td>1.078667e+05</td>\n",
       "      <td>1.094333e+05</td>\n",
       "      <td>1.115667e+05</td>\n",
       "      <td>1.150000e+05</td>\n",
       "      <td>1.167000e+05</td>\n",
       "      <td>1.182000e+05</td>\n",
       "      <td>120100.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>TN</th>\n",
       "      <th>Memphis</th>\n",
       "      <td>7.250000e+04</td>\n",
       "      <td>7.320000e+04</td>\n",
       "      <td>7.386667e+04</td>\n",
       "      <td>7.400000e+04</td>\n",
       "      <td>7.416667e+04</td>\n",
       "      <td>7.493333e+04</td>\n",
       "      <td>7.550000e+04</td>\n",
       "      <td>7.606667e+04</td>\n",
       "      <td>7.633333e+04</td>\n",
       "      <td>7.676667e+04</td>\n",
       "      <td>...</td>\n",
       "      <td>6.810000e+04</td>\n",
       "      <td>6.910000e+04</td>\n",
       "      <td>7.116667e+04</td>\n",
       "      <td>7.053333e+04</td>\n",
       "      <td>6.870000e+04</td>\n",
       "      <td>6.866667e+04</td>\n",
       "      <td>6.953333e+04</td>\n",
       "      <td>7.090000e+04</td>\n",
       "      <td>7.416667e+04</td>\n",
       "      <td>75900.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>NC</th>\n",
       "      <th>Charlotte</th>\n",
       "      <td>1.269333e+05</td>\n",
       "      <td>1.283667e+05</td>\n",
       "      <td>1.302000e+05</td>\n",
       "      <td>1.315667e+05</td>\n",
       "      <td>1.329333e+05</td>\n",
       "      <td>1.332000e+05</td>\n",
       "      <td>1.328000e+05</td>\n",
       "      <td>1.331000e+05</td>\n",
       "      <td>1.343667e+05</td>\n",
       "      <td>1.353667e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>1.494667e+05</td>\n",
       "      <td>1.506333e+05</td>\n",
       "      <td>1.527333e+05</td>\n",
       "      <td>1.551667e+05</td>\n",
       "      <td>1.579000e+05</td>\n",
       "      <td>1.601667e+05</td>\n",
       "      <td>1.628667e+05</td>\n",
       "      <td>1.664667e+05</td>\n",
       "      <td>1.694333e+05</td>\n",
       "      <td>172400.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>TX</th>\n",
       "      <th>El Paso</th>\n",
       "      <td>7.626667e+04</td>\n",
       "      <td>7.686667e+04</td>\n",
       "      <td>7.673333e+04</td>\n",
       "      <td>7.730000e+04</td>\n",
       "      <td>7.823333e+04</td>\n",
       "      <td>7.830000e+04</td>\n",
       "      <td>7.743333e+04</td>\n",
       "      <td>7.680000e+04</td>\n",
       "      <td>7.660000e+04</td>\n",
       "      <td>7.640000e+04</td>\n",
       "      <td>...</td>\n",
       "      <td>1.118000e+05</td>\n",
       "      <td>1.117333e+05</td>\n",
       "      <td>1.117667e+05</td>\n",
       "      <td>1.115000e+05</td>\n",
       "      <td>1.113000e+05</td>\n",
       "      <td>1.110667e+05</td>\n",
       "      <td>1.102667e+05</td>\n",
       "      <td>1.106667e+05</td>\n",
       "      <td>1.114667e+05</td>\n",
       "      <td>112200.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>MA</th>\n",
       "      <th>Boston</th>\n",
       "      <td>2.069333e+05</td>\n",
       "      <td>2.191667e+05</td>\n",
       "      <td>2.331000e+05</td>\n",
       "      <td>2.425000e+05</td>\n",
       "      <td>2.496000e+05</td>\n",
       "      <td>2.570667e+05</td>\n",
       "      <td>2.669333e+05</td>\n",
       "      <td>2.749667e+05</td>\n",
       "      <td>2.825000e+05</td>\n",
       "      <td>2.893000e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>4.266667e+05</td>\n",
       "      <td>4.314333e+05</td>\n",
       "      <td>4.407333e+05</td>\n",
       "      <td>4.485000e+05</td>\n",
       "      <td>4.553667e+05</td>\n",
       "      <td>4.639667e+05</td>\n",
       "      <td>4.716333e+05</td>\n",
       "      <td>4.826000e+05</td>\n",
       "      <td>4.903667e+05</td>\n",
       "      <td>501700.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>WA</th>\n",
       "      <th>Seattle</th>\n",
       "      <td>2.486000e+05</td>\n",
       "      <td>2.556000e+05</td>\n",
       "      <td>2.625333e+05</td>\n",
       "      <td>2.674000e+05</td>\n",
       "      <td>2.710000e+05</td>\n",
       "      <td>2.724333e+05</td>\n",
       "      <td>2.741667e+05</td>\n",
       "      <td>2.781667e+05</td>\n",
       "      <td>2.805000e+05</td>\n",
       "      <td>2.846000e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>4.418000e+05</td>\n",
       "      <td>4.515000e+05</td>\n",
       "      <td>4.591667e+05</td>\n",
       "      <td>4.679333e+05</td>\n",
       "      <td>4.933667e+05</td>\n",
       "      <td>5.142667e+05</td>\n",
       "      <td>5.334667e+05</td>\n",
       "      <td>5.517333e+05</td>\n",
       "      <td>5.755333e+05</td>\n",
       "      <td>589700.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>MD</th>\n",
       "      <th>Baltimore</th>\n",
       "      <td>5.966667e+04</td>\n",
       "      <td>5.950000e+04</td>\n",
       "      <td>5.883333e+04</td>\n",
       "      <td>5.950000e+04</td>\n",
       "      <td>5.956667e+04</td>\n",
       "      <td>6.013333e+04</td>\n",
       "      <td>6.210000e+04</td>\n",
       "      <td>6.340000e+04</td>\n",
       "      <td>6.366667e+04</td>\n",
       "      <td>6.490000e+04</td>\n",
       "      <td>...</td>\n",
       "      <td>1.092333e+05</td>\n",
       "      <td>1.095333e+05</td>\n",
       "      <td>1.073667e+05</td>\n",
       "      <td>1.080667e+05</td>\n",
       "      <td>1.114333e+05</td>\n",
       "      <td>1.139667e+05</td>\n",
       "      <td>1.139000e+05</td>\n",
       "      <td>1.146667e+05</td>\n",
       "      <td>1.147333e+05</td>\n",
       "      <td>115150.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CO</th>\n",
       "      <th>Denver</th>\n",
       "      <td>1.622333e+05</td>\n",
       "      <td>1.678333e+05</td>\n",
       "      <td>1.743333e+05</td>\n",
       "      <td>1.803333e+05</td>\n",
       "      <td>1.865000e+05</td>\n",
       "      <td>1.925333e+05</td>\n",
       "      <td>1.964000e+05</td>\n",
       "      <td>1.991000e+05</td>\n",
       "      <td>2.012333e+05</td>\n",
       "      <td>2.024333e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>2.708667e+05</td>\n",
       "      <td>2.775000e+05</td>\n",
       "      <td>2.872333e+05</td>\n",
       "      <td>2.976333e+05</td>\n",
       "      <td>3.103667e+05</td>\n",
       "      <td>3.205000e+05</td>\n",
       "      <td>3.301000e+05</td>\n",
       "      <td>3.355667e+05</td>\n",
       "      <td>3.427667e+05</td>\n",
       "      <td>351550.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>DC</th>\n",
       "      <th>Washington</th>\n",
       "      <td>1.377667e+05</td>\n",
       "      <td>1.442000e+05</td>\n",
       "      <td>1.487000e+05</td>\n",
       "      <td>1.477000e+05</td>\n",
       "      <td>1.497667e+05</td>\n",
       "      <td>1.551333e+05</td>\n",
       "      <td>1.646333e+05</td>\n",
       "      <td>1.725333e+05</td>\n",
       "      <td>1.805000e+05</td>\n",
       "      <td>1.933000e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>4.469333e+05</td>\n",
       "      <td>4.530000e+05</td>\n",
       "      <td>4.603000e+05</td>\n",
       "      <td>4.661667e+05</td>\n",
       "      <td>4.810667e+05</td>\n",
       "      <td>4.934000e+05</td>\n",
       "      <td>5.009000e+05</td>\n",
       "      <td>5.041000e+05</td>\n",
       "      <td>5.058000e+05</td>\n",
       "      <td>516250.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>TN</th>\n",
       "      <th>Nashville</th>\n",
       "      <td>1.138333e+05</td>\n",
       "      <td>1.152667e+05</td>\n",
       "      <td>1.158667e+05</td>\n",
       "      <td>1.169333e+05</td>\n",
       "      <td>1.180333e+05</td>\n",
       "      <td>1.191667e+05</td>\n",
       "      <td>1.201000e+05</td>\n",
       "      <td>1.208000e+05</td>\n",
       "      <td>1.215667e+05</td>\n",
       "      <td>1.226333e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>1.607000e+05</td>\n",
       "      <td>1.623000e+05</td>\n",
       "      <td>1.669000e+05</td>\n",
       "      <td>1.714667e+05</td>\n",
       "      <td>1.762667e+05</td>\n",
       "      <td>1.818000e+05</td>\n",
       "      <td>1.892000e+05</td>\n",
       "      <td>1.950667e+05</td>\n",
       "      <td>2.003667e+05</td>\n",
       "      <td>206100.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>WI</th>\n",
       "      <th>Milwaukee</th>\n",
       "      <td>7.803333e+04</td>\n",
       "      <td>7.906667e+04</td>\n",
       "      <td>8.103333e+04</td>\n",
       "      <td>8.233333e+04</td>\n",
       "      <td>8.403333e+04</td>\n",
       "      <td>8.556667e+04</td>\n",
       "      <td>8.706667e+04</td>\n",
       "      <td>8.840000e+04</td>\n",
       "      <td>8.953333e+04</td>\n",
       "      <td>9.136667e+04</td>\n",
       "      <td>...</td>\n",
       "      <td>9.216667e+04</td>\n",
       "      <td>9.216667e+04</td>\n",
       "      <td>9.196667e+04</td>\n",
       "      <td>9.333333e+04</td>\n",
       "      <td>9.410000e+04</td>\n",
       "      <td>9.413333e+04</td>\n",
       "      <td>9.456667e+04</td>\n",
       "      <td>9.466667e+04</td>\n",
       "      <td>9.636667e+04</td>\n",
       "      <td>98850.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AZ</th>\n",
       "      <th>Tucson</th>\n",
       "      <td>1.018333e+05</td>\n",
       "      <td>1.029667e+05</td>\n",
       "      <td>1.044667e+05</td>\n",
       "      <td>1.056667e+05</td>\n",
       "      <td>1.072000e+05</td>\n",
       "      <td>1.087667e+05</td>\n",
       "      <td>1.105667e+05</td>\n",
       "      <td>1.128000e+05</td>\n",
       "      <td>1.150000e+05</td>\n",
       "      <td>1.172000e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>1.424667e+05</td>\n",
       "      <td>1.434333e+05</td>\n",
       "      <td>1.442333e+05</td>\n",
       "      <td>1.441667e+05</td>\n",
       "      <td>1.451333e+05</td>\n",
       "      <td>1.466000e+05</td>\n",
       "      <td>1.481667e+05</td>\n",
       "      <td>1.495333e+05</td>\n",
       "      <td>1.511667e+05</td>\n",
       "      <td>152700.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>OR</th>\n",
       "      <th>Portland</th>\n",
       "      <td>1.528000e+05</td>\n",
       "      <td>1.547667e+05</td>\n",
       "      <td>1.565667e+05</td>\n",
       "      <td>1.574667e+05</td>\n",
       "      <td>1.599000e+05</td>\n",
       "      <td>1.618000e+05</td>\n",
       "      <td>1.642667e+05</td>\n",
       "      <td>1.677667e+05</td>\n",
       "      <td>1.707667e+05</td>\n",
       "      <td>1.741333e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>2.822333e+05</td>\n",
       "      <td>2.872667e+05</td>\n",
       "      <td>2.955333e+05</td>\n",
       "      <td>3.019333e+05</td>\n",
       "      <td>3.119000e+05</td>\n",
       "      <td>3.257333e+05</td>\n",
       "      <td>3.430667e+05</td>\n",
       "      <td>3.560000e+05</td>\n",
       "      <td>3.698000e+05</td>\n",
       "      <td>387050.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>OK</th>\n",
       "      <th>Oklahoma City</th>\n",
       "      <td>7.643333e+04</td>\n",
       "      <td>7.750000e+04</td>\n",
       "      <td>7.856667e+04</td>\n",
       "      <td>7.916667e+04</td>\n",
       "      <td>7.983333e+04</td>\n",
       "      <td>8.040000e+04</td>\n",
       "      <td>8.113333e+04</td>\n",
       "      <td>8.173333e+04</td>\n",
       "      <td>8.260000e+04</td>\n",
       "      <td>8.343333e+04</td>\n",
       "      <td>...</td>\n",
       "      <td>1.180333e+05</td>\n",
       "      <td>1.189667e+05</td>\n",
       "      <td>1.201000e+05</td>\n",
       "      <td>1.208000e+05</td>\n",
       "      <td>1.223667e+05</td>\n",
       "      <td>1.247000e+05</td>\n",
       "      <td>1.271000e+05</td>\n",
       "      <td>1.279000e+05</td>\n",
       "      <td>1.293000e+05</td>\n",
       "      <td>130300.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>NE</th>\n",
       "      <th>Omaha</th>\n",
       "      <td>1.128000e+05</td>\n",
       "      <td>1.141000e+05</td>\n",
       "      <td>1.167333e+05</td>\n",
       "      <td>1.189000e+05</td>\n",
       "      <td>1.208667e+05</td>\n",
       "      <td>1.197667e+05</td>\n",
       "      <td>1.178667e+05</td>\n",
       "      <td>1.174000e+05</td>\n",
       "      <td>1.180667e+05</td>\n",
       "      <td>1.176333e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>1.301000e+05</td>\n",
       "      <td>1.303000e+05</td>\n",
       "      <td>1.325000e+05</td>\n",
       "      <td>1.330667e+05</td>\n",
       "      <td>1.344667e+05</td>\n",
       "      <td>1.367333e+05</td>\n",
       "      <td>1.400667e+05</td>\n",
       "      <td>1.416333e+05</td>\n",
       "      <td>1.426667e+05</td>\n",
       "      <td>143450.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>NM</th>\n",
       "      <th>Albuquerque</th>\n",
       "      <td>1.258667e+05</td>\n",
       "      <td>1.267000e+05</td>\n",
       "      <td>1.264333e+05</td>\n",
       "      <td>1.267333e+05</td>\n",
       "      <td>1.271000e+05</td>\n",
       "      <td>1.277333e+05</td>\n",
       "      <td>1.285667e+05</td>\n",
       "      <td>1.299000e+05</td>\n",
       "      <td>1.310667e+05</td>\n",
       "      <td>1.321000e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>1.632667e+05</td>\n",
       "      <td>1.640000e+05</td>\n",
       "      <td>1.648000e+05</td>\n",
       "      <td>1.651667e+05</td>\n",
       "      <td>1.659000e+05</td>\n",
       "      <td>1.665333e+05</td>\n",
       "      <td>1.673333e+05</td>\n",
       "      <td>1.691000e+05</td>\n",
       "      <td>1.706333e+05</td>\n",
       "      <td>171900.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CA</th>\n",
       "      <th>Fresno</th>\n",
       "      <td>9.410000e+04</td>\n",
       "      <td>9.526667e+04</td>\n",
       "      <td>9.646667e+04</td>\n",
       "      <td>9.823333e+04</td>\n",
       "      <td>1.005667e+05</td>\n",
       "      <td>1.035667e+05</td>\n",
       "      <td>1.072333e+05</td>\n",
       "      <td>1.103000e+05</td>\n",
       "      <td>1.140333e+05</td>\n",
       "      <td>1.185333e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>1.696333e+05</td>\n",
       "      <td>1.736000e+05</td>\n",
       "      <td>1.781333e+05</td>\n",
       "      <td>1.804667e+05</td>\n",
       "      <td>1.820333e+05</td>\n",
       "      <td>1.857000e+05</td>\n",
       "      <td>1.874667e+05</td>\n",
       "      <td>1.890333e+05</td>\n",
       "      <td>1.927333e+05</td>\n",
       "      <td>196450.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>TX</th>\n",
       "      <th>Granite Shoals</th>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>...</td>\n",
       "      <td>1.169667e+05</td>\n",
       "      <td>1.175333e+05</td>\n",
       "      <td>1.175333e+05</td>\n",
       "      <td>1.171667e+05</td>\n",
       "      <td>1.191000e+05</td>\n",
       "      <td>1.216000e+05</td>\n",
       "      <td>1.280000e+05</td>\n",
       "      <td>1.337667e+05</td>\n",
       "      <td>1.400667e+05</td>\n",
       "      <td>146450.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>MD</th>\n",
       "      <th>Piney Point</th>\n",
       "      <td>1.556667e+05</td>\n",
       "      <td>1.551667e+05</td>\n",
       "      <td>1.584667e+05</td>\n",
       "      <td>1.637000e+05</td>\n",
       "      <td>1.634000e+05</td>\n",
       "      <td>1.648333e+05</td>\n",
       "      <td>1.647000e+05</td>\n",
       "      <td>1.679000e+05</td>\n",
       "      <td>1.782667e+05</td>\n",
       "      <td>1.812000e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>2.964000e+05</td>\n",
       "      <td>3.090000e+05</td>\n",
       "      <td>3.092333e+05</td>\n",
       "      <td>3.095667e+05</td>\n",
       "      <td>3.017000e+05</td>\n",
       "      <td>3.052333e+05</td>\n",
       "      <td>3.099667e+05</td>\n",
       "      <td>3.195000e+05</td>\n",
       "      <td>3.241667e+05</td>\n",
       "      <td>324600.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>WI</th>\n",
       "      <th>Maribel</th>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>...</td>\n",
       "      <td>1.306000e+05</td>\n",
       "      <td>1.289667e+05</td>\n",
       "      <td>1.296333e+05</td>\n",
       "      <td>1.312667e+05</td>\n",
       "      <td>1.301333e+05</td>\n",
       "      <td>1.297333e+05</td>\n",
       "      <td>1.293000e+05</td>\n",
       "      <td>1.278333e+05</td>\n",
       "      <td>1.292667e+05</td>\n",
       "      <td>134200.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ID</th>\n",
       "      <th>Middleton</th>\n",
       "      <td>1.060667e+05</td>\n",
       "      <td>1.043333e+05</td>\n",
       "      <td>1.019000e+05</td>\n",
       "      <td>1.041667e+05</td>\n",
       "      <td>1.061667e+05</td>\n",
       "      <td>1.083667e+05</td>\n",
       "      <td>1.110333e+05</td>\n",
       "      <td>1.112333e+05</td>\n",
       "      <td>1.141000e+05</td>\n",
       "      <td>1.141667e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>1.443667e+05</td>\n",
       "      <td>1.457000e+05</td>\n",
       "      <td>1.462333e+05</td>\n",
       "      <td>1.461667e+05</td>\n",
       "      <td>1.477333e+05</td>\n",
       "      <td>1.482000e+05</td>\n",
       "      <td>1.511333e+05</td>\n",
       "      <td>1.539000e+05</td>\n",
       "      <td>1.571667e+05</td>\n",
       "      <td>160750.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CO</th>\n",
       "      <th>Bennett</th>\n",
       "      <td>1.329000e+05</td>\n",
       "      <td>1.358333e+05</td>\n",
       "      <td>1.398000e+05</td>\n",
       "      <td>1.446667e+05</td>\n",
       "      <td>1.483000e+05</td>\n",
       "      <td>1.521000e+05</td>\n",
       "      <td>1.542333e+05</td>\n",
       "      <td>1.562000e+05</td>\n",
       "      <td>1.587333e+05</td>\n",
       "      <td>1.606333e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>1.514667e+05</td>\n",
       "      <td>1.620667e+05</td>\n",
       "      <td>1.714000e+05</td>\n",
       "      <td>1.780333e+05</td>\n",
       "      <td>1.844333e+05</td>\n",
       "      <td>1.916667e+05</td>\n",
       "      <td>1.958000e+05</td>\n",
       "      <td>1.997667e+05</td>\n",
       "      <td>2.074667e+05</td>\n",
       "      <td>212600.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>NH</th>\n",
       "      <th>East Hampstead</th>\n",
       "      <td>1.618333e+05</td>\n",
       "      <td>1.691000e+05</td>\n",
       "      <td>1.739667e+05</td>\n",
       "      <td>1.805000e+05</td>\n",
       "      <td>1.909000e+05</td>\n",
       "      <td>1.950667e+05</td>\n",
       "      <td>1.992667e+05</td>\n",
       "      <td>2.074000e+05</td>\n",
       "      <td>2.123000e+05</td>\n",
       "      <td>2.122333e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>2.495000e+05</td>\n",
       "      <td>2.521000e+05</td>\n",
       "      <td>2.557333e+05</td>\n",
       "      <td>2.587333e+05</td>\n",
       "      <td>2.613667e+05</td>\n",
       "      <td>2.616000e+05</td>\n",
       "      <td>2.688000e+05</td>\n",
       "      <td>2.725333e+05</td>\n",
       "      <td>2.778000e+05</td>\n",
       "      <td>282450.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>MO</th>\n",
       "      <th>Garden City</th>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>...</td>\n",
       "      <td>1.055000e+05</td>\n",
       "      <td>1.043000e+05</td>\n",
       "      <td>1.047667e+05</td>\n",
       "      <td>1.060333e+05</td>\n",
       "      <td>9.606667e+04</td>\n",
       "      <td>9.930000e+04</td>\n",
       "      <td>1.034333e+05</td>\n",
       "      <td>1.062667e+05</td>\n",
       "      <td>1.116667e+05</td>\n",
       "      <td>113600.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AR</th>\n",
       "      <th>Mountainburg</th>\n",
       "      <td>5.716667e+04</td>\n",
       "      <td>6.433333e+04</td>\n",
       "      <td>6.783333e+04</td>\n",
       "      <td>6.900000e+04</td>\n",
       "      <td>6.866667e+04</td>\n",
       "      <td>6.386667e+04</td>\n",
       "      <td>6.376667e+04</td>\n",
       "      <td>6.546667e+04</td>\n",
       "      <td>6.533333e+04</td>\n",
       "      <td>6.600000e+04</td>\n",
       "      <td>...</td>\n",
       "      <td>8.160000e+04</td>\n",
       "      <td>8.506667e+04</td>\n",
       "      <td>8.846667e+04</td>\n",
       "      <td>8.903333e+04</td>\n",
       "      <td>8.556667e+04</td>\n",
       "      <td>8.370000e+04</td>\n",
       "      <td>9.043333e+04</td>\n",
       "      <td>9.833333e+04</td>\n",
       "      <td>1.019000e+05</td>\n",
       "      <td>103400.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>WI</th>\n",
       "      <th>Oostburg</th>\n",
       "      <td>1.072667e+05</td>\n",
       "      <td>1.081000e+05</td>\n",
       "      <td>1.124333e+05</td>\n",
       "      <td>1.155000e+05</td>\n",
       "      <td>1.191000e+05</td>\n",
       "      <td>1.204333e+05</td>\n",
       "      <td>1.203667e+05</td>\n",
       "      <td>1.196333e+05</td>\n",
       "      <td>1.198667e+05</td>\n",
       "      <td>1.185667e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>1.295667e+05</td>\n",
       "      <td>1.279333e+05</td>\n",
       "      <td>1.274333e+05</td>\n",
       "      <td>1.270667e+05</td>\n",
       "      <td>1.274000e+05</td>\n",
       "      <td>1.303333e+05</td>\n",
       "      <td>1.320333e+05</td>\n",
       "      <td>1.327667e+05</td>\n",
       "      <td>1.341000e+05</td>\n",
       "      <td>136350.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CA</th>\n",
       "      <th>Twin Peaks</th>\n",
       "      <td>9.736667e+04</td>\n",
       "      <td>1.001667e+05</td>\n",
       "      <td>1.013333e+05</td>\n",
       "      <td>1.017000e+05</td>\n",
       "      <td>1.040000e+05</td>\n",
       "      <td>1.076667e+05</td>\n",
       "      <td>1.098333e+05</td>\n",
       "      <td>1.111333e+05</td>\n",
       "      <td>1.132000e+05</td>\n",
       "      <td>1.166000e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>1.501000e+05</td>\n",
       "      <td>1.475333e+05</td>\n",
       "      <td>1.460667e+05</td>\n",
       "      <td>1.435000e+05</td>\n",
       "      <td>1.523000e+05</td>\n",
       "      <td>1.552667e+05</td>\n",
       "      <td>1.591667e+05</td>\n",
       "      <td>1.641667e+05</td>\n",
       "      <td>1.679667e+05</td>\n",
       "      <td>173500.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>NY</th>\n",
       "      <th>Upper Brookville</th>\n",
       "      <td>1.230967e+06</td>\n",
       "      <td>1.230967e+06</td>\n",
       "      <td>1.237700e+06</td>\n",
       "      <td>1.261567e+06</td>\n",
       "      <td>1.295167e+06</td>\n",
       "      <td>1.340033e+06</td>\n",
       "      <td>1.403667e+06</td>\n",
       "      <td>1.481933e+06</td>\n",
       "      <td>1.536167e+06</td>\n",
       "      <td>1.562033e+06</td>\n",
       "      <td>...</td>\n",
       "      <td>1.780633e+06</td>\n",
       "      <td>1.749233e+06</td>\n",
       "      <td>1.729467e+06</td>\n",
       "      <td>1.749867e+06</td>\n",
       "      <td>1.789600e+06</td>\n",
       "      <td>1.777267e+06</td>\n",
       "      <td>1.834367e+06</td>\n",
       "      <td>1.904500e+06</td>\n",
       "      <td>1.944067e+06</td>\n",
       "      <td>1968800.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>HI</th>\n",
       "      <th>Volcano</th>\n",
       "      <td>9.870000e+04</td>\n",
       "      <td>1.053667e+05</td>\n",
       "      <td>1.146667e+05</td>\n",
       "      <td>1.247667e+05</td>\n",
       "      <td>1.181333e+05</td>\n",
       "      <td>1.194000e+05</td>\n",
       "      <td>1.232667e+05</td>\n",
       "      <td>1.211667e+05</td>\n",
       "      <td>1.233000e+05</td>\n",
       "      <td>1.169000e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>2.064667e+05</td>\n",
       "      <td>2.276333e+05</td>\n",
       "      <td>2.332000e+05</td>\n",
       "      <td>2.346333e+05</td>\n",
       "      <td>2.323667e+05</td>\n",
       "      <td>2.249667e+05</td>\n",
       "      <td>2.324333e+05</td>\n",
       "      <td>2.420667e+05</td>\n",
       "      <td>2.489667e+05</td>\n",
       "      <td>247850.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SC</th>\n",
       "      <th>Wedgefield</th>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>...</td>\n",
       "      <td>7.436667e+04</td>\n",
       "      <td>7.026667e+04</td>\n",
       "      <td>7.206667e+04</td>\n",
       "      <td>7.570000e+04</td>\n",
       "      <td>7.206667e+04</td>\n",
       "      <td>7.033333e+04</td>\n",
       "      <td>6.903333e+04</td>\n",
       "      <td>6.886667e+04</td>\n",
       "      <td>7.426667e+04</td>\n",
       "      <td>80700.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>MI</th>\n",
       "      <th>Williamston</th>\n",
       "      <td>1.591667e+05</td>\n",
       "      <td>1.613000e+05</td>\n",
       "      <td>1.643000e+05</td>\n",
       "      <td>1.662000e+05</td>\n",
       "      <td>1.664333e+05</td>\n",
       "      <td>1.686333e+05</td>\n",
       "      <td>1.716667e+05</td>\n",
       "      <td>1.750333e+05</td>\n",
       "      <td>1.786667e+05</td>\n",
       "      <td>1.793333e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>1.657000e+05</td>\n",
       "      <td>1.689333e+05</td>\n",
       "      <td>1.708667e+05</td>\n",
       "      <td>1.744333e+05</td>\n",
       "      <td>1.758667e+05</td>\n",
       "      <td>1.794667e+05</td>\n",
       "      <td>1.823000e+05</td>\n",
       "      <td>1.814667e+05</td>\n",
       "      <td>1.824000e+05</td>\n",
       "      <td>183000.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AR</th>\n",
       "      <th>Decatur</th>\n",
       "      <td>6.360000e+04</td>\n",
       "      <td>6.440000e+04</td>\n",
       "      <td>6.566667e+04</td>\n",
       "      <td>6.673333e+04</td>\n",
       "      <td>6.720000e+04</td>\n",
       "      <td>6.770000e+04</td>\n",
       "      <td>6.650000e+04</td>\n",
       "      <td>6.540000e+04</td>\n",
       "      <td>6.460000e+04</td>\n",
       "      <td>6.490000e+04</td>\n",
       "      <td>...</td>\n",
       "      <td>8.966667e+04</td>\n",
       "      <td>9.256667e+04</td>\n",
       "      <td>9.470000e+04</td>\n",
       "      <td>9.350000e+04</td>\n",
       "      <td>9.490000e+04</td>\n",
       "      <td>9.543333e+04</td>\n",
       "      <td>9.700000e+04</td>\n",
       "      <td>9.650000e+04</td>\n",
       "      <td>9.663333e+04</td>\n",
       "      <td>96850.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>TN</th>\n",
       "      <th>Briceville</th>\n",
       "      <td>4.000000e+04</td>\n",
       "      <td>4.173333e+04</td>\n",
       "      <td>4.366667e+04</td>\n",
       "      <td>4.490000e+04</td>\n",
       "      <td>4.480000e+04</td>\n",
       "      <td>4.530000e+04</td>\n",
       "      <td>4.463333e+04</td>\n",
       "      <td>4.370000e+04</td>\n",
       "      <td>4.446667e+04</td>\n",
       "      <td>4.340000e+04</td>\n",
       "      <td>...</td>\n",
       "      <td>5.623333e+04</td>\n",
       "      <td>5.423333e+04</td>\n",
       "      <td>5.260000e+04</td>\n",
       "      <td>4.963333e+04</td>\n",
       "      <td>4.590000e+04</td>\n",
       "      <td>4.793333e+04</td>\n",
       "      <td>4.360000e+04</td>\n",
       "      <td>4.080000e+04</td>\n",
       "      <td>4.180000e+04</td>\n",
       "      <td>40850.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>IN</th>\n",
       "      <th>Edgewood</th>\n",
       "      <td>9.170000e+04</td>\n",
       "      <td>9.186667e+04</td>\n",
       "      <td>9.293333e+04</td>\n",
       "      <td>9.490000e+04</td>\n",
       "      <td>9.893333e+04</td>\n",
       "      <td>1.000667e+05</td>\n",
       "      <td>1.008333e+05</td>\n",
       "      <td>1.010000e+05</td>\n",
       "      <td>1.021667e+05</td>\n",
       "      <td>1.017667e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>9.213333e+04</td>\n",
       "      <td>9.406667e+04</td>\n",
       "      <td>9.466667e+04</td>\n",
       "      <td>9.586667e+04</td>\n",
       "      <td>9.433333e+04</td>\n",
       "      <td>9.663333e+04</td>\n",
       "      <td>9.996667e+04</td>\n",
       "      <td>9.943333e+04</td>\n",
       "      <td>9.996667e+04</td>\n",
       "      <td>100950.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>TN</th>\n",
       "      <th>Palmyra</th>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>...</td>\n",
       "      <td>1.227667e+05</td>\n",
       "      <td>1.269333e+05</td>\n",
       "      <td>1.262333e+05</td>\n",
       "      <td>1.223000e+05</td>\n",
       "      <td>1.204667e+05</td>\n",
       "      <td>1.198000e+05</td>\n",
       "      <td>1.258000e+05</td>\n",
       "      <td>1.276667e+05</td>\n",
       "      <td>1.328667e+05</td>\n",
       "      <td>137750.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>MD</th>\n",
       "      <th>Saint Inigoes</th>\n",
       "      <td>1.480667e+05</td>\n",
       "      <td>1.476000e+05</td>\n",
       "      <td>1.572333e+05</td>\n",
       "      <td>1.633667e+05</td>\n",
       "      <td>1.642333e+05</td>\n",
       "      <td>1.682000e+05</td>\n",
       "      <td>1.665000e+05</td>\n",
       "      <td>1.653333e+05</td>\n",
       "      <td>1.673000e+05</td>\n",
       "      <td>1.688000e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>2.822333e+05</td>\n",
       "      <td>2.884333e+05</td>\n",
       "      <td>2.869667e+05</td>\n",
       "      <td>2.847000e+05</td>\n",
       "      <td>2.807667e+05</td>\n",
       "      <td>2.778333e+05</td>\n",
       "      <td>2.768333e+05</td>\n",
       "      <td>2.793333e+05</td>\n",
       "      <td>2.826333e+05</td>\n",
       "      <td>281400.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>IN</th>\n",
       "      <th>Marysville</th>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>...</td>\n",
       "      <td>1.166000e+05</td>\n",
       "      <td>1.151000e+05</td>\n",
       "      <td>1.165000e+05</td>\n",
       "      <td>1.118667e+05</td>\n",
       "      <td>1.118000e+05</td>\n",
       "      <td>1.156667e+05</td>\n",
       "      <td>1.201667e+05</td>\n",
       "      <td>1.282333e+05</td>\n",
       "      <td>1.232333e+05</td>\n",
       "      <td>124200.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CA</th>\n",
       "      <th>Forest Falls</th>\n",
       "      <td>1.135333e+05</td>\n",
       "      <td>1.144000e+05</td>\n",
       "      <td>1.141667e+05</td>\n",
       "      <td>1.111333e+05</td>\n",
       "      <td>1.134333e+05</td>\n",
       "      <td>1.130000e+05</td>\n",
       "      <td>1.130333e+05</td>\n",
       "      <td>1.151667e+05</td>\n",
       "      <td>1.187000e+05</td>\n",
       "      <td>1.250667e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>1.653667e+05</td>\n",
       "      <td>1.675000e+05</td>\n",
       "      <td>1.771000e+05</td>\n",
       "      <td>1.765333e+05</td>\n",
       "      <td>1.818000e+05</td>\n",
       "      <td>1.911667e+05</td>\n",
       "      <td>1.987333e+05</td>\n",
       "      <td>1.886333e+05</td>\n",
       "      <td>1.898667e+05</td>\n",
       "      <td>186650.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>MO</th>\n",
       "      <th>Bois D Arc</th>\n",
       "      <td>1.078000e+05</td>\n",
       "      <td>1.069667e+05</td>\n",
       "      <td>1.071000e+05</td>\n",
       "      <td>1.081000e+05</td>\n",
       "      <td>1.107000e+05</td>\n",
       "      <td>1.136667e+05</td>\n",
       "      <td>1.126333e+05</td>\n",
       "      <td>1.127333e+05</td>\n",
       "      <td>1.130667e+05</td>\n",
       "      <td>1.154000e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>1.375667e+05</td>\n",
       "      <td>1.375667e+05</td>\n",
       "      <td>1.404000e+05</td>\n",
       "      <td>1.450333e+05</td>\n",
       "      <td>1.475667e+05</td>\n",
       "      <td>1.463000e+05</td>\n",
       "      <td>1.494333e+05</td>\n",
       "      <td>1.468667e+05</td>\n",
       "      <td>1.437667e+05</td>\n",
       "      <td>144000.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>VA</th>\n",
       "      <th>Henrico</th>\n",
       "      <td>1.285667e+05</td>\n",
       "      <td>1.307667e+05</td>\n",
       "      <td>1.322667e+05</td>\n",
       "      <td>1.332667e+05</td>\n",
       "      <td>1.352333e+05</td>\n",
       "      <td>1.367333e+05</td>\n",
       "      <td>1.386000e+05</td>\n",
       "      <td>1.413333e+05</td>\n",
       "      <td>1.435333e+05</td>\n",
       "      <td>1.461333e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>2.016333e+05</td>\n",
       "      <td>2.040000e+05</td>\n",
       "      <td>2.059000e+05</td>\n",
       "      <td>2.065667e+05</td>\n",
       "      <td>2.104333e+05</td>\n",
       "      <td>2.121000e+05</td>\n",
       "      <td>2.139667e+05</td>\n",
       "      <td>2.160333e+05</td>\n",
       "      <td>2.162000e+05</td>\n",
       "      <td>220150.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>NJ</th>\n",
       "      <th>Diamond Beach</th>\n",
       "      <td>1.739667e+05</td>\n",
       "      <td>1.831000e+05</td>\n",
       "      <td>1.889667e+05</td>\n",
       "      <td>1.931333e+05</td>\n",
       "      <td>1.944000e+05</td>\n",
       "      <td>2.102667e+05</td>\n",
       "      <td>2.302667e+05</td>\n",
       "      <td>2.486667e+05</td>\n",
       "      <td>2.599333e+05</td>\n",
       "      <td>2.656333e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>3.818000e+05</td>\n",
       "      <td>3.878667e+05</td>\n",
       "      <td>3.876667e+05</td>\n",
       "      <td>3.931667e+05</td>\n",
       "      <td>3.980000e+05</td>\n",
       "      <td>3.992333e+05</td>\n",
       "      <td>4.004333e+05</td>\n",
       "      <td>4.045333e+05</td>\n",
       "      <td>4.039000e+05</td>\n",
       "      <td>399000.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>TN</th>\n",
       "      <th>Gruetli Laager</th>\n",
       "      <td>3.540000e+04</td>\n",
       "      <td>3.546667e+04</td>\n",
       "      <td>3.666667e+04</td>\n",
       "      <td>3.730000e+04</td>\n",
       "      <td>3.773333e+04</td>\n",
       "      <td>3.790000e+04</td>\n",
       "      <td>3.936667e+04</td>\n",
       "      <td>4.040000e+04</td>\n",
       "      <td>4.156667e+04</td>\n",
       "      <td>4.163333e+04</td>\n",
       "      <td>...</td>\n",
       "      <td>5.556667e+04</td>\n",
       "      <td>5.636667e+04</td>\n",
       "      <td>5.713333e+04</td>\n",
       "      <td>5.890000e+04</td>\n",
       "      <td>6.536667e+04</td>\n",
       "      <td>6.950000e+04</td>\n",
       "      <td>7.170000e+04</td>\n",
       "      <td>7.533333e+04</td>\n",
       "      <td>7.646667e+04</td>\n",
       "      <td>77500.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>WI</th>\n",
       "      <th>Town of Wrightstown</th>\n",
       "      <td>1.017667e+05</td>\n",
       "      <td>1.054000e+05</td>\n",
       "      <td>1.113667e+05</td>\n",
       "      <td>1.148667e+05</td>\n",
       "      <td>1.259667e+05</td>\n",
       "      <td>1.299000e+05</td>\n",
       "      <td>1.299000e+05</td>\n",
       "      <td>1.294333e+05</td>\n",
       "      <td>1.319000e+05</td>\n",
       "      <td>1.342000e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>1.448667e+05</td>\n",
       "      <td>1.468667e+05</td>\n",
       "      <td>1.492333e+05</td>\n",
       "      <td>1.486667e+05</td>\n",
       "      <td>1.493333e+05</td>\n",
       "      <td>1.498667e+05</td>\n",
       "      <td>1.499333e+05</td>\n",
       "      <td>1.498333e+05</td>\n",
       "      <td>1.512667e+05</td>\n",
       "      <td>155000.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>NY</th>\n",
       "      <th>Urbana</th>\n",
       "      <td>7.920000e+04</td>\n",
       "      <td>8.166667e+04</td>\n",
       "      <td>9.170000e+04</td>\n",
       "      <td>9.836667e+04</td>\n",
       "      <td>9.486667e+04</td>\n",
       "      <td>9.853333e+04</td>\n",
       "      <td>1.029667e+05</td>\n",
       "      <td>9.803333e+04</td>\n",
       "      <td>9.396667e+04</td>\n",
       "      <td>9.460000e+04</td>\n",
       "      <td>...</td>\n",
       "      <td>1.321333e+05</td>\n",
       "      <td>1.370333e+05</td>\n",
       "      <td>1.400667e+05</td>\n",
       "      <td>1.417000e+05</td>\n",
       "      <td>1.378667e+05</td>\n",
       "      <td>1.364667e+05</td>\n",
       "      <td>1.361667e+05</td>\n",
       "      <td>1.389667e+05</td>\n",
       "      <td>1.442000e+05</td>\n",
       "      <td>143000.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>WI</th>\n",
       "      <th>New Denmark</th>\n",
       "      <td>1.145667e+05</td>\n",
       "      <td>1.192667e+05</td>\n",
       "      <td>1.260667e+05</td>\n",
       "      <td>1.319667e+05</td>\n",
       "      <td>1.438000e+05</td>\n",
       "      <td>1.469667e+05</td>\n",
       "      <td>1.483667e+05</td>\n",
       "      <td>1.491667e+05</td>\n",
       "      <td>1.531333e+05</td>\n",
       "      <td>1.567333e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>1.745667e+05</td>\n",
       "      <td>1.811667e+05</td>\n",
       "      <td>1.861667e+05</td>\n",
       "      <td>1.876000e+05</td>\n",
       "      <td>1.886667e+05</td>\n",
       "      <td>1.884333e+05</td>\n",
       "      <td>1.889333e+05</td>\n",
       "      <td>1.910667e+05</td>\n",
       "      <td>1.928333e+05</td>\n",
       "      <td>197600.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CA</th>\n",
       "      <th>Angels</th>\n",
       "      <td>1.510000e+05</td>\n",
       "      <td>1.559000e+05</td>\n",
       "      <td>1.581000e+05</td>\n",
       "      <td>1.674667e+05</td>\n",
       "      <td>1.768333e+05</td>\n",
       "      <td>1.837667e+05</td>\n",
       "      <td>1.902333e+05</td>\n",
       "      <td>1.845667e+05</td>\n",
       "      <td>1.840333e+05</td>\n",
       "      <td>1.861333e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>2.444667e+05</td>\n",
       "      <td>2.540667e+05</td>\n",
       "      <td>2.599333e+05</td>\n",
       "      <td>2.601000e+05</td>\n",
       "      <td>2.506333e+05</td>\n",
       "      <td>2.635000e+05</td>\n",
       "      <td>2.795000e+05</td>\n",
       "      <td>2.765333e+05</td>\n",
       "      <td>2.716000e+05</td>\n",
       "      <td>269950.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>WI</th>\n",
       "      <th>Holland</th>\n",
       "      <td>1.510333e+05</td>\n",
       "      <td>1.505000e+05</td>\n",
       "      <td>1.532333e+05</td>\n",
       "      <td>1.558333e+05</td>\n",
       "      <td>1.618667e+05</td>\n",
       "      <td>1.657333e+05</td>\n",
       "      <td>1.680333e+05</td>\n",
       "      <td>1.674000e+05</td>\n",
       "      <td>1.657667e+05</td>\n",
       "      <td>1.619667e+05</td>\n",
       "      <td>...</td>\n",
       "      <td>2.012667e+05</td>\n",
       "      <td>2.015667e+05</td>\n",
       "      <td>2.012667e+05</td>\n",
       "      <td>2.060000e+05</td>\n",
       "      <td>2.076000e+05</td>\n",
       "      <td>2.128667e+05</td>\n",
       "      <td>2.178333e+05</td>\n",
       "      <td>2.219667e+05</td>\n",
       "      <td>2.280333e+05</td>\n",
       "      <td>234950.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>10730 rows × 67 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                 2000q1        2000q2        2000q3  \\\n",
       "State RegionName                                                      \n",
       "NY    New York             0.000000e+00  0.000000e+00  0.000000e+00   \n",
       "CA    Los Angeles          2.070667e+05  2.144667e+05  2.209667e+05   \n",
       "IL    Chicago              1.384000e+05  1.436333e+05  1.478667e+05   \n",
       "PA    Philadelphia         5.300000e+04  5.363333e+04  5.413333e+04   \n",
       "AZ    Phoenix              1.118333e+05  1.143667e+05  1.160000e+05   \n",
       "NV    Las Vegas            1.326000e+05  1.343667e+05  1.354000e+05   \n",
       "CA    San Diego            2.229000e+05  2.343667e+05  2.454333e+05   \n",
       "TX    Dallas               8.446667e+04  8.386667e+04  8.486667e+04   \n",
       "CA    San Jose             3.742667e+05  4.065667e+05  4.318667e+05   \n",
       "FL    Jacksonville         8.860000e+04  8.970000e+04  9.170000e+04   \n",
       "CA    San Francisco        4.305000e+05  4.644667e+05  4.835333e+05   \n",
       "TX    Austin               1.429667e+05  1.452667e+05  1.494667e+05   \n",
       "MI    Detroit              6.616667e+04  6.830000e+04  6.676667e+04   \n",
       "OH    Columbus             9.436667e+04  9.583333e+04  9.713333e+04   \n",
       "TN    Memphis              7.250000e+04  7.320000e+04  7.386667e+04   \n",
       "NC    Charlotte            1.269333e+05  1.283667e+05  1.302000e+05   \n",
       "TX    El Paso              7.626667e+04  7.686667e+04  7.673333e+04   \n",
       "MA    Boston               2.069333e+05  2.191667e+05  2.331000e+05   \n",
       "WA    Seattle              2.486000e+05  2.556000e+05  2.625333e+05   \n",
       "MD    Baltimore            5.966667e+04  5.950000e+04  5.883333e+04   \n",
       "CO    Denver               1.622333e+05  1.678333e+05  1.743333e+05   \n",
       "DC    Washington           1.377667e+05  1.442000e+05  1.487000e+05   \n",
       "TN    Nashville            1.138333e+05  1.152667e+05  1.158667e+05   \n",
       "WI    Milwaukee            7.803333e+04  7.906667e+04  8.103333e+04   \n",
       "AZ    Tucson               1.018333e+05  1.029667e+05  1.044667e+05   \n",
       "OR    Portland             1.528000e+05  1.547667e+05  1.565667e+05   \n",
       "OK    Oklahoma City        7.643333e+04  7.750000e+04  7.856667e+04   \n",
       "NE    Omaha                1.128000e+05  1.141000e+05  1.167333e+05   \n",
       "NM    Albuquerque          1.258667e+05  1.267000e+05  1.264333e+05   \n",
       "CA    Fresno               9.410000e+04  9.526667e+04  9.646667e+04   \n",
       "...                                 ...           ...           ...   \n",
       "TX    Granite Shoals       0.000000e+00  0.000000e+00  0.000000e+00   \n",
       "MD    Piney Point          1.556667e+05  1.551667e+05  1.584667e+05   \n",
       "WI    Maribel              0.000000e+00  0.000000e+00  0.000000e+00   \n",
       "ID    Middleton            1.060667e+05  1.043333e+05  1.019000e+05   \n",
       "CO    Bennett              1.329000e+05  1.358333e+05  1.398000e+05   \n",
       "NH    East Hampstead       1.618333e+05  1.691000e+05  1.739667e+05   \n",
       "MO    Garden City          0.000000e+00  0.000000e+00  0.000000e+00   \n",
       "AR    Mountainburg         5.716667e+04  6.433333e+04  6.783333e+04   \n",
       "WI    Oostburg             1.072667e+05  1.081000e+05  1.124333e+05   \n",
       "CA    Twin Peaks           9.736667e+04  1.001667e+05  1.013333e+05   \n",
       "NY    Upper Brookville     1.230967e+06  1.230967e+06  1.237700e+06   \n",
       "HI    Volcano              9.870000e+04  1.053667e+05  1.146667e+05   \n",
       "SC    Wedgefield           0.000000e+00  0.000000e+00  0.000000e+00   \n",
       "MI    Williamston          1.591667e+05  1.613000e+05  1.643000e+05   \n",
       "AR    Decatur              6.360000e+04  6.440000e+04  6.566667e+04   \n",
       "TN    Briceville           4.000000e+04  4.173333e+04  4.366667e+04   \n",
       "IN    Edgewood             9.170000e+04  9.186667e+04  9.293333e+04   \n",
       "TN    Palmyra              0.000000e+00  0.000000e+00  0.000000e+00   \n",
       "MD    Saint Inigoes        1.480667e+05  1.476000e+05  1.572333e+05   \n",
       "IN    Marysville           0.000000e+00  0.000000e+00  0.000000e+00   \n",
       "CA    Forest Falls         1.135333e+05  1.144000e+05  1.141667e+05   \n",
       "MO    Bois D Arc           1.078000e+05  1.069667e+05  1.071000e+05   \n",
       "VA    Henrico              1.285667e+05  1.307667e+05  1.322667e+05   \n",
       "NJ    Diamond Beach        1.739667e+05  1.831000e+05  1.889667e+05   \n",
       "TN    Gruetli Laager       3.540000e+04  3.546667e+04  3.666667e+04   \n",
       "WI    Town of Wrightstown  1.017667e+05  1.054000e+05  1.113667e+05   \n",
       "NY    Urbana               7.920000e+04  8.166667e+04  9.170000e+04   \n",
       "WI    New Denmark          1.145667e+05  1.192667e+05  1.260667e+05   \n",
       "CA    Angels               1.510000e+05  1.559000e+05  1.581000e+05   \n",
       "WI    Holland              1.510333e+05  1.505000e+05  1.532333e+05   \n",
       "\n",
       "                                 2000q4        2001q1        2001q2  \\\n",
       "State RegionName                                                      \n",
       "NY    New York             0.000000e+00  0.000000e+00  0.000000e+00   \n",
       "CA    Los Angeles          2.261667e+05  2.330000e+05  2.391000e+05   \n",
       "IL    Chicago              1.521333e+05  1.569333e+05  1.618000e+05   \n",
       "PA    Philadelphia         5.470000e+04  5.533333e+04  5.553333e+04   \n",
       "AZ    Phoenix              1.174000e+05  1.196000e+05  1.215667e+05   \n",
       "NV    Las Vegas            1.370000e+05  1.395333e+05  1.417333e+05   \n",
       "CA    San Diego            2.560333e+05  2.672000e+05  2.762667e+05   \n",
       "TX    Dallas               8.783333e+04  8.973333e+04  8.930000e+04   \n",
       "CA    San Jose             4.555000e+05  4.706667e+05  4.702000e+05   \n",
       "FL    Jacksonville         9.310000e+04  9.440000e+04  9.560000e+04   \n",
       "CA    San Francisco        4.930000e+05  4.940667e+05  4.961333e+05   \n",
       "TX    Austin               1.557333e+05  1.612333e+05  1.607333e+05   \n",
       "MI    Detroit              6.703333e+04  6.750000e+04  6.836667e+04   \n",
       "OH    Columbus             9.826667e+04  9.940000e+04  1.002667e+05   \n",
       "TN    Memphis              7.400000e+04  7.416667e+04  7.493333e+04   \n",
       "NC    Charlotte            1.315667e+05  1.329333e+05  1.332000e+05   \n",
       "TX    El Paso              7.730000e+04  7.823333e+04  7.830000e+04   \n",
       "MA    Boston               2.425000e+05  2.496000e+05  2.570667e+05   \n",
       "WA    Seattle              2.674000e+05  2.710000e+05  2.724333e+05   \n",
       "MD    Baltimore            5.950000e+04  5.956667e+04  6.013333e+04   \n",
       "CO    Denver               1.803333e+05  1.865000e+05  1.925333e+05   \n",
       "DC    Washington           1.477000e+05  1.497667e+05  1.551333e+05   \n",
       "TN    Nashville            1.169333e+05  1.180333e+05  1.191667e+05   \n",
       "WI    Milwaukee            8.233333e+04  8.403333e+04  8.556667e+04   \n",
       "AZ    Tucson               1.056667e+05  1.072000e+05  1.087667e+05   \n",
       "OR    Portland             1.574667e+05  1.599000e+05  1.618000e+05   \n",
       "OK    Oklahoma City        7.916667e+04  7.983333e+04  8.040000e+04   \n",
       "NE    Omaha                1.189000e+05  1.208667e+05  1.197667e+05   \n",
       "NM    Albuquerque          1.267333e+05  1.271000e+05  1.277333e+05   \n",
       "CA    Fresno               9.823333e+04  1.005667e+05  1.035667e+05   \n",
       "...                                 ...           ...           ...   \n",
       "TX    Granite Shoals       0.000000e+00  0.000000e+00  0.000000e+00   \n",
       "MD    Piney Point          1.637000e+05  1.634000e+05  1.648333e+05   \n",
       "WI    Maribel              0.000000e+00  0.000000e+00  0.000000e+00   \n",
       "ID    Middleton            1.041667e+05  1.061667e+05  1.083667e+05   \n",
       "CO    Bennett              1.446667e+05  1.483000e+05  1.521000e+05   \n",
       "NH    East Hampstead       1.805000e+05  1.909000e+05  1.950667e+05   \n",
       "MO    Garden City          0.000000e+00  0.000000e+00  0.000000e+00   \n",
       "AR    Mountainburg         6.900000e+04  6.866667e+04  6.386667e+04   \n",
       "WI    Oostburg             1.155000e+05  1.191000e+05  1.204333e+05   \n",
       "CA    Twin Peaks           1.017000e+05  1.040000e+05  1.076667e+05   \n",
       "NY    Upper Brookville     1.261567e+06  1.295167e+06  1.340033e+06   \n",
       "HI    Volcano              1.247667e+05  1.181333e+05  1.194000e+05   \n",
       "SC    Wedgefield           0.000000e+00  0.000000e+00  0.000000e+00   \n",
       "MI    Williamston          1.662000e+05  1.664333e+05  1.686333e+05   \n",
       "AR    Decatur              6.673333e+04  6.720000e+04  6.770000e+04   \n",
       "TN    Briceville           4.490000e+04  4.480000e+04  4.530000e+04   \n",
       "IN    Edgewood             9.490000e+04  9.893333e+04  1.000667e+05   \n",
       "TN    Palmyra              0.000000e+00  0.000000e+00  0.000000e+00   \n",
       "MD    Saint Inigoes        1.633667e+05  1.642333e+05  1.682000e+05   \n",
       "IN    Marysville           0.000000e+00  0.000000e+00  0.000000e+00   \n",
       "CA    Forest Falls         1.111333e+05  1.134333e+05  1.130000e+05   \n",
       "MO    Bois D Arc           1.081000e+05  1.107000e+05  1.136667e+05   \n",
       "VA    Henrico              1.332667e+05  1.352333e+05  1.367333e+05   \n",
       "NJ    Diamond Beach        1.931333e+05  1.944000e+05  2.102667e+05   \n",
       "TN    Gruetli Laager       3.730000e+04  3.773333e+04  3.790000e+04   \n",
       "WI    Town of Wrightstown  1.148667e+05  1.259667e+05  1.299000e+05   \n",
       "NY    Urbana               9.836667e+04  9.486667e+04  9.853333e+04   \n",
       "WI    New Denmark          1.319667e+05  1.438000e+05  1.469667e+05   \n",
       "CA    Angels               1.674667e+05  1.768333e+05  1.837667e+05   \n",
       "WI    Holland              1.558333e+05  1.618667e+05  1.657333e+05   \n",
       "\n",
       "                                 2001q3        2001q4        2002q1  \\\n",
       "State RegionName                                                      \n",
       "NY    New York             0.000000e+00  0.000000e+00  0.000000e+00   \n",
       "CA    Los Angeles          2.450667e+05  2.530333e+05  2.619667e+05   \n",
       "IL    Chicago              1.664000e+05  1.704333e+05  1.755000e+05   \n",
       "PA    Philadelphia         5.626667e+04  5.753333e+04  5.913333e+04   \n",
       "AZ    Phoenix              1.227000e+05  1.243000e+05  1.265333e+05   \n",
       "NV    Las Vegas            1.433667e+05  1.461333e+05  1.493333e+05   \n",
       "CA    San Diego            2.845000e+05  2.919333e+05  3.012333e+05   \n",
       "TX    Dallas               8.906667e+04  9.090000e+04  9.256667e+04   \n",
       "CA    San Jose             4.568000e+05  4.455667e+05  4.414333e+05   \n",
       "FL    Jacksonville         9.706667e+04  9.906667e+04  1.012333e+05   \n",
       "CA    San Francisco        5.041000e+05  5.134000e+05  5.204333e+05   \n",
       "TX    Austin               1.595333e+05  1.600333e+05  1.589667e+05   \n",
       "MI    Detroit              6.926667e+04  6.996667e+04  7.100000e+04   \n",
       "OH    Columbus             1.010667e+05  1.022000e+05  1.034000e+05   \n",
       "TN    Memphis              7.550000e+04  7.606667e+04  7.633333e+04   \n",
       "NC    Charlotte            1.328000e+05  1.331000e+05  1.343667e+05   \n",
       "TX    El Paso              7.743333e+04  7.680000e+04  7.660000e+04   \n",
       "MA    Boston               2.669333e+05  2.749667e+05  2.825000e+05   \n",
       "WA    Seattle              2.741667e+05  2.781667e+05  2.805000e+05   \n",
       "MD    Baltimore            6.210000e+04  6.340000e+04  6.366667e+04   \n",
       "CO    Denver               1.964000e+05  1.991000e+05  2.012333e+05   \n",
       "DC    Washington           1.646333e+05  1.725333e+05  1.805000e+05   \n",
       "TN    Nashville            1.201000e+05  1.208000e+05  1.215667e+05   \n",
       "WI    Milwaukee            8.706667e+04  8.840000e+04  8.953333e+04   \n",
       "AZ    Tucson               1.105667e+05  1.128000e+05  1.150000e+05   \n",
       "OR    Portland             1.642667e+05  1.677667e+05  1.707667e+05   \n",
       "OK    Oklahoma City        8.113333e+04  8.173333e+04  8.260000e+04   \n",
       "NE    Omaha                1.178667e+05  1.174000e+05  1.180667e+05   \n",
       "NM    Albuquerque          1.285667e+05  1.299000e+05  1.310667e+05   \n",
       "CA    Fresno               1.072333e+05  1.103000e+05  1.140333e+05   \n",
       "...                                 ...           ...           ...   \n",
       "TX    Granite Shoals       0.000000e+00  0.000000e+00  0.000000e+00   \n",
       "MD    Piney Point          1.647000e+05  1.679000e+05  1.782667e+05   \n",
       "WI    Maribel              0.000000e+00  0.000000e+00  0.000000e+00   \n",
       "ID    Middleton            1.110333e+05  1.112333e+05  1.141000e+05   \n",
       "CO    Bennett              1.542333e+05  1.562000e+05  1.587333e+05   \n",
       "NH    East Hampstead       1.992667e+05  2.074000e+05  2.123000e+05   \n",
       "MO    Garden City          0.000000e+00  0.000000e+00  0.000000e+00   \n",
       "AR    Mountainburg         6.376667e+04  6.546667e+04  6.533333e+04   \n",
       "WI    Oostburg             1.203667e+05  1.196333e+05  1.198667e+05   \n",
       "CA    Twin Peaks           1.098333e+05  1.111333e+05  1.132000e+05   \n",
       "NY    Upper Brookville     1.403667e+06  1.481933e+06  1.536167e+06   \n",
       "HI    Volcano              1.232667e+05  1.211667e+05  1.233000e+05   \n",
       "SC    Wedgefield           0.000000e+00  0.000000e+00  0.000000e+00   \n",
       "MI    Williamston          1.716667e+05  1.750333e+05  1.786667e+05   \n",
       "AR    Decatur              6.650000e+04  6.540000e+04  6.460000e+04   \n",
       "TN    Briceville           4.463333e+04  4.370000e+04  4.446667e+04   \n",
       "IN    Edgewood             1.008333e+05  1.010000e+05  1.021667e+05   \n",
       "TN    Palmyra              0.000000e+00  0.000000e+00  0.000000e+00   \n",
       "MD    Saint Inigoes        1.665000e+05  1.653333e+05  1.673000e+05   \n",
       "IN    Marysville           0.000000e+00  0.000000e+00  0.000000e+00   \n",
       "CA    Forest Falls         1.130333e+05  1.151667e+05  1.187000e+05   \n",
       "MO    Bois D Arc           1.126333e+05  1.127333e+05  1.130667e+05   \n",
       "VA    Henrico              1.386000e+05  1.413333e+05  1.435333e+05   \n",
       "NJ    Diamond Beach        2.302667e+05  2.486667e+05  2.599333e+05   \n",
       "TN    Gruetli Laager       3.936667e+04  4.040000e+04  4.156667e+04   \n",
       "WI    Town of Wrightstown  1.299000e+05  1.294333e+05  1.319000e+05   \n",
       "NY    Urbana               1.029667e+05  9.803333e+04  9.396667e+04   \n",
       "WI    New Denmark          1.483667e+05  1.491667e+05  1.531333e+05   \n",
       "CA    Angels               1.902333e+05  1.845667e+05  1.840333e+05   \n",
       "WI    Holland              1.680333e+05  1.674000e+05  1.657667e+05   \n",
       "\n",
       "                                 2002q2    ...            2014q2  \\\n",
       "State RegionName                           ...                     \n",
       "NY    New York             0.000000e+00    ...      5.154667e+05   \n",
       "CA    Los Angeles          2.727000e+05    ...      4.980333e+05   \n",
       "IL    Chicago              1.775667e+05    ...      1.926333e+05   \n",
       "PA    Philadelphia         6.073333e+04    ...      1.137333e+05   \n",
       "AZ    Phoenix              1.283667e+05    ...      1.642667e+05   \n",
       "NV    Las Vegas            1.509333e+05    ...      1.700667e+05   \n",
       "CA    San Diego            3.128667e+05    ...      4.802000e+05   \n",
       "TX    Dallas               9.380000e+04    ...      1.066333e+05   \n",
       "CA    San Jose             4.577667e+05    ...      6.794000e+05   \n",
       "FL    Jacksonville         1.034333e+05    ...      1.207667e+05   \n",
       "CA    San Francisco        5.381667e+05    ...      9.269333e+05   \n",
       "TX    Austin               1.575000e+05    ...      2.488667e+05   \n",
       "MI    Detroit              7.233333e+04    ...      3.730000e+04   \n",
       "OH    Columbus             1.048000e+05    ...      1.031333e+05   \n",
       "TN    Memphis              7.676667e+04    ...      6.810000e+04   \n",
       "NC    Charlotte            1.353667e+05    ...      1.494667e+05   \n",
       "TX    El Paso              7.640000e+04    ...      1.118000e+05   \n",
       "MA    Boston               2.893000e+05    ...      4.266667e+05   \n",
       "WA    Seattle              2.846000e+05    ...      4.418000e+05   \n",
       "MD    Baltimore            6.490000e+04    ...      1.092333e+05   \n",
       "CO    Denver               2.024333e+05    ...      2.708667e+05   \n",
       "DC    Washington           1.933000e+05    ...      4.469333e+05   \n",
       "TN    Nashville            1.226333e+05    ...      1.607000e+05   \n",
       "WI    Milwaukee            9.136667e+04    ...      9.216667e+04   \n",
       "AZ    Tucson               1.172000e+05    ...      1.424667e+05   \n",
       "OR    Portland             1.741333e+05    ...      2.822333e+05   \n",
       "OK    Oklahoma City        8.343333e+04    ...      1.180333e+05   \n",
       "NE    Omaha                1.176333e+05    ...      1.301000e+05   \n",
       "NM    Albuquerque          1.321000e+05    ...      1.632667e+05   \n",
       "CA    Fresno               1.185333e+05    ...      1.696333e+05   \n",
       "...                                 ...    ...               ...   \n",
       "TX    Granite Shoals       0.000000e+00    ...      1.169667e+05   \n",
       "MD    Piney Point          1.812000e+05    ...      2.964000e+05   \n",
       "WI    Maribel              0.000000e+00    ...      1.306000e+05   \n",
       "ID    Middleton            1.141667e+05    ...      1.443667e+05   \n",
       "CO    Bennett              1.606333e+05    ...      1.514667e+05   \n",
       "NH    East Hampstead       2.122333e+05    ...      2.495000e+05   \n",
       "MO    Garden City          0.000000e+00    ...      1.055000e+05   \n",
       "AR    Mountainburg         6.600000e+04    ...      8.160000e+04   \n",
       "WI    Oostburg             1.185667e+05    ...      1.295667e+05   \n",
       "CA    Twin Peaks           1.166000e+05    ...      1.501000e+05   \n",
       "NY    Upper Brookville     1.562033e+06    ...      1.780633e+06   \n",
       "HI    Volcano              1.169000e+05    ...      2.064667e+05   \n",
       "SC    Wedgefield           0.000000e+00    ...      7.436667e+04   \n",
       "MI    Williamston          1.793333e+05    ...      1.657000e+05   \n",
       "AR    Decatur              6.490000e+04    ...      8.966667e+04   \n",
       "TN    Briceville           4.340000e+04    ...      5.623333e+04   \n",
       "IN    Edgewood             1.017667e+05    ...      9.213333e+04   \n",
       "TN    Palmyra              0.000000e+00    ...      1.227667e+05   \n",
       "MD    Saint Inigoes        1.688000e+05    ...      2.822333e+05   \n",
       "IN    Marysville           0.000000e+00    ...      1.166000e+05   \n",
       "CA    Forest Falls         1.250667e+05    ...      1.653667e+05   \n",
       "MO    Bois D Arc           1.154000e+05    ...      1.375667e+05   \n",
       "VA    Henrico              1.461333e+05    ...      2.016333e+05   \n",
       "NJ    Diamond Beach        2.656333e+05    ...      3.818000e+05   \n",
       "TN    Gruetli Laager       4.163333e+04    ...      5.556667e+04   \n",
       "WI    Town of Wrightstown  1.342000e+05    ...      1.448667e+05   \n",
       "NY    Urbana               9.460000e+04    ...      1.321333e+05   \n",
       "WI    New Denmark          1.567333e+05    ...      1.745667e+05   \n",
       "CA    Angels               1.861333e+05    ...      2.444667e+05   \n",
       "WI    Holland              1.619667e+05    ...      2.012667e+05   \n",
       "\n",
       "                                 2014q3        2014q4        2015q1  \\\n",
       "State RegionName                                                      \n",
       "NY    New York             5.228000e+05  5.280667e+05  5.322667e+05   \n",
       "CA    Los Angeles          5.090667e+05  5.188667e+05  5.288000e+05   \n",
       "IL    Chicago              1.957667e+05  2.012667e+05  2.010667e+05   \n",
       "PA    Philadelphia         1.153000e+05  1.156667e+05  1.162000e+05   \n",
       "AZ    Phoenix              1.653667e+05  1.685000e+05  1.715333e+05   \n",
       "NV    Las Vegas            1.734000e+05  1.754667e+05  1.775000e+05   \n",
       "CA    San Diego            4.890333e+05  4.964333e+05  5.033667e+05   \n",
       "TX    Dallas               1.089000e+05  1.115333e+05  1.137000e+05   \n",
       "CA    San Jose             6.970333e+05  7.149333e+05  7.314333e+05   \n",
       "FL    Jacksonville         1.217333e+05  1.231667e+05  1.241667e+05   \n",
       "CA    San Francisco        9.545333e+05  9.687667e+05  1.000733e+06   \n",
       "TX    Austin               2.528000e+05  2.581333e+05  2.665000e+05   \n",
       "MI    Detroit              3.710000e+04  3.713333e+04  3.620000e+04   \n",
       "OH    Columbus             1.045000e+05  1.064333e+05  1.078667e+05   \n",
       "TN    Memphis              6.910000e+04  7.116667e+04  7.053333e+04   \n",
       "NC    Charlotte            1.506333e+05  1.527333e+05  1.551667e+05   \n",
       "TX    El Paso              1.117333e+05  1.117667e+05  1.115000e+05   \n",
       "MA    Boston               4.314333e+05  4.407333e+05  4.485000e+05   \n",
       "WA    Seattle              4.515000e+05  4.591667e+05  4.679333e+05   \n",
       "MD    Baltimore            1.095333e+05  1.073667e+05  1.080667e+05   \n",
       "CO    Denver               2.775000e+05  2.872333e+05  2.976333e+05   \n",
       "DC    Washington           4.530000e+05  4.603000e+05  4.661667e+05   \n",
       "TN    Nashville            1.623000e+05  1.669000e+05  1.714667e+05   \n",
       "WI    Milwaukee            9.216667e+04  9.196667e+04  9.333333e+04   \n",
       "AZ    Tucson               1.434333e+05  1.442333e+05  1.441667e+05   \n",
       "OR    Portland             2.872667e+05  2.955333e+05  3.019333e+05   \n",
       "OK    Oklahoma City        1.189667e+05  1.201000e+05  1.208000e+05   \n",
       "NE    Omaha                1.303000e+05  1.325000e+05  1.330667e+05   \n",
       "NM    Albuquerque          1.640000e+05  1.648000e+05  1.651667e+05   \n",
       "CA    Fresno               1.736000e+05  1.781333e+05  1.804667e+05   \n",
       "...                                 ...           ...           ...   \n",
       "TX    Granite Shoals       1.175333e+05  1.175333e+05  1.171667e+05   \n",
       "MD    Piney Point          3.090000e+05  3.092333e+05  3.095667e+05   \n",
       "WI    Maribel              1.289667e+05  1.296333e+05  1.312667e+05   \n",
       "ID    Middleton            1.457000e+05  1.462333e+05  1.461667e+05   \n",
       "CO    Bennett              1.620667e+05  1.714000e+05  1.780333e+05   \n",
       "NH    East Hampstead       2.521000e+05  2.557333e+05  2.587333e+05   \n",
       "MO    Garden City          1.043000e+05  1.047667e+05  1.060333e+05   \n",
       "AR    Mountainburg         8.506667e+04  8.846667e+04  8.903333e+04   \n",
       "WI    Oostburg             1.279333e+05  1.274333e+05  1.270667e+05   \n",
       "CA    Twin Peaks           1.475333e+05  1.460667e+05  1.435000e+05   \n",
       "NY    Upper Brookville     1.749233e+06  1.729467e+06  1.749867e+06   \n",
       "HI    Volcano              2.276333e+05  2.332000e+05  2.346333e+05   \n",
       "SC    Wedgefield           7.026667e+04  7.206667e+04  7.570000e+04   \n",
       "MI    Williamston          1.689333e+05  1.708667e+05  1.744333e+05   \n",
       "AR    Decatur              9.256667e+04  9.470000e+04  9.350000e+04   \n",
       "TN    Briceville           5.423333e+04  5.260000e+04  4.963333e+04   \n",
       "IN    Edgewood             9.406667e+04  9.466667e+04  9.586667e+04   \n",
       "TN    Palmyra              1.269333e+05  1.262333e+05  1.223000e+05   \n",
       "MD    Saint Inigoes        2.884333e+05  2.869667e+05  2.847000e+05   \n",
       "IN    Marysville           1.151000e+05  1.165000e+05  1.118667e+05   \n",
       "CA    Forest Falls         1.675000e+05  1.771000e+05  1.765333e+05   \n",
       "MO    Bois D Arc           1.375667e+05  1.404000e+05  1.450333e+05   \n",
       "VA    Henrico              2.040000e+05  2.059000e+05  2.065667e+05   \n",
       "NJ    Diamond Beach        3.878667e+05  3.876667e+05  3.931667e+05   \n",
       "TN    Gruetli Laager       5.636667e+04  5.713333e+04  5.890000e+04   \n",
       "WI    Town of Wrightstown  1.468667e+05  1.492333e+05  1.486667e+05   \n",
       "NY    Urbana               1.370333e+05  1.400667e+05  1.417000e+05   \n",
       "WI    New Denmark          1.811667e+05  1.861667e+05  1.876000e+05   \n",
       "CA    Angels               2.540667e+05  2.599333e+05  2.601000e+05   \n",
       "WI    Holland              2.015667e+05  2.012667e+05  2.060000e+05   \n",
       "\n",
       "                                 2015q2        2015q3        2015q4  \\\n",
       "State RegionName                                                      \n",
       "NY    New York             5.408000e+05  5.572000e+05  5.728333e+05   \n",
       "CA    Los Angeles          5.381667e+05  5.472667e+05  5.577333e+05   \n",
       "IL    Chicago              2.060333e+05  2.083000e+05  2.079000e+05   \n",
       "PA    Philadelphia         1.179667e+05  1.212333e+05  1.222000e+05   \n",
       "AZ    Phoenix              1.741667e+05  1.790667e+05  1.838333e+05   \n",
       "NV    Las Vegas            1.816000e+05  1.867667e+05  1.906333e+05   \n",
       "CA    San Diego            5.120667e+05  5.197667e+05  5.254667e+05   \n",
       "TX    Dallas               1.211333e+05  1.285667e+05  1.346000e+05   \n",
       "CA    San Jose             7.567333e+05  7.764000e+05  7.891333e+05   \n",
       "FL    Jacksonville         1.269000e+05  1.301333e+05  1.320000e+05   \n",
       "CA    San Francisco        1.060800e+06  1.095100e+06  1.105467e+06   \n",
       "TX    Austin               2.750333e+05  2.816333e+05  2.872333e+05   \n",
       "MI    Detroit              3.583333e+04  3.706667e+04  3.836667e+04   \n",
       "OH    Columbus             1.094333e+05  1.115667e+05  1.150000e+05   \n",
       "TN    Memphis              6.870000e+04  6.866667e+04  6.953333e+04   \n",
       "NC    Charlotte            1.579000e+05  1.601667e+05  1.628667e+05   \n",
       "TX    El Paso              1.113000e+05  1.110667e+05  1.102667e+05   \n",
       "MA    Boston               4.553667e+05  4.639667e+05  4.716333e+05   \n",
       "WA    Seattle              4.933667e+05  5.142667e+05  5.334667e+05   \n",
       "MD    Baltimore            1.114333e+05  1.139667e+05  1.139000e+05   \n",
       "CO    Denver               3.103667e+05  3.205000e+05  3.301000e+05   \n",
       "DC    Washington           4.810667e+05  4.934000e+05  5.009000e+05   \n",
       "TN    Nashville            1.762667e+05  1.818000e+05  1.892000e+05   \n",
       "WI    Milwaukee            9.410000e+04  9.413333e+04  9.456667e+04   \n",
       "AZ    Tucson               1.451333e+05  1.466000e+05  1.481667e+05   \n",
       "OR    Portland             3.119000e+05  3.257333e+05  3.430667e+05   \n",
       "OK    Oklahoma City        1.223667e+05  1.247000e+05  1.271000e+05   \n",
       "NE    Omaha                1.344667e+05  1.367333e+05  1.400667e+05   \n",
       "NM    Albuquerque          1.659000e+05  1.665333e+05  1.673333e+05   \n",
       "CA    Fresno               1.820333e+05  1.857000e+05  1.874667e+05   \n",
       "...                                 ...           ...           ...   \n",
       "TX    Granite Shoals       1.191000e+05  1.216000e+05  1.280000e+05   \n",
       "MD    Piney Point          3.017000e+05  3.052333e+05  3.099667e+05   \n",
       "WI    Maribel              1.301333e+05  1.297333e+05  1.293000e+05   \n",
       "ID    Middleton            1.477333e+05  1.482000e+05  1.511333e+05   \n",
       "CO    Bennett              1.844333e+05  1.916667e+05  1.958000e+05   \n",
       "NH    East Hampstead       2.613667e+05  2.616000e+05  2.688000e+05   \n",
       "MO    Garden City          9.606667e+04  9.930000e+04  1.034333e+05   \n",
       "AR    Mountainburg         8.556667e+04  8.370000e+04  9.043333e+04   \n",
       "WI    Oostburg             1.274000e+05  1.303333e+05  1.320333e+05   \n",
       "CA    Twin Peaks           1.523000e+05  1.552667e+05  1.591667e+05   \n",
       "NY    Upper Brookville     1.789600e+06  1.777267e+06  1.834367e+06   \n",
       "HI    Volcano              2.323667e+05  2.249667e+05  2.324333e+05   \n",
       "SC    Wedgefield           7.206667e+04  7.033333e+04  6.903333e+04   \n",
       "MI    Williamston          1.758667e+05  1.794667e+05  1.823000e+05   \n",
       "AR    Decatur              9.490000e+04  9.543333e+04  9.700000e+04   \n",
       "TN    Briceville           4.590000e+04  4.793333e+04  4.360000e+04   \n",
       "IN    Edgewood             9.433333e+04  9.663333e+04  9.996667e+04   \n",
       "TN    Palmyra              1.204667e+05  1.198000e+05  1.258000e+05   \n",
       "MD    Saint Inigoes        2.807667e+05  2.778333e+05  2.768333e+05   \n",
       "IN    Marysville           1.118000e+05  1.156667e+05  1.201667e+05   \n",
       "CA    Forest Falls         1.818000e+05  1.911667e+05  1.987333e+05   \n",
       "MO    Bois D Arc           1.475667e+05  1.463000e+05  1.494333e+05   \n",
       "VA    Henrico              2.104333e+05  2.121000e+05  2.139667e+05   \n",
       "NJ    Diamond Beach        3.980000e+05  3.992333e+05  4.004333e+05   \n",
       "TN    Gruetli Laager       6.536667e+04  6.950000e+04  7.170000e+04   \n",
       "WI    Town of Wrightstown  1.493333e+05  1.498667e+05  1.499333e+05   \n",
       "NY    Urbana               1.378667e+05  1.364667e+05  1.361667e+05   \n",
       "WI    New Denmark          1.886667e+05  1.884333e+05  1.889333e+05   \n",
       "CA    Angels               2.506333e+05  2.635000e+05  2.795000e+05   \n",
       "WI    Holland              2.076000e+05  2.128667e+05  2.178333e+05   \n",
       "\n",
       "                                 2016q1        2016q2     2016q3  \n",
       "State RegionName                                                  \n",
       "NY    New York             5.828667e+05  5.916333e+05   587200.0  \n",
       "CA    Los Angeles          5.660333e+05  5.774667e+05   584050.0  \n",
       "IL    Chicago              2.060667e+05  2.082000e+05   212000.0  \n",
       "PA    Philadelphia         1.234333e+05  1.269333e+05   128700.0  \n",
       "AZ    Phoenix              1.879000e+05  1.914333e+05   195200.0  \n",
       "NV    Las Vegas            1.946000e+05  1.972000e+05   199950.0  \n",
       "CA    San Diego            5.293333e+05  5.362333e+05   539750.0  \n",
       "TX    Dallas               1.405000e+05  1.446000e+05   149300.0  \n",
       "CA    San Jose             8.036000e+05  8.189333e+05   822200.0  \n",
       "FL    Jacksonville         1.339667e+05  1.372000e+05   139900.0  \n",
       "CA    San Francisco        1.121767e+06  1.119267e+06  1106400.0  \n",
       "TX    Austin               2.935000e+05  3.014333e+05   304450.0  \n",
       "MI    Detroit              3.796667e+04  3.746667e+04    37900.0  \n",
       "OH    Columbus             1.167000e+05  1.182000e+05   120100.0  \n",
       "TN    Memphis              7.090000e+04  7.416667e+04    75900.0  \n",
       "NC    Charlotte            1.664667e+05  1.694333e+05   172400.0  \n",
       "TX    El Paso              1.106667e+05  1.114667e+05   112200.0  \n",
       "MA    Boston               4.826000e+05  4.903667e+05   501700.0  \n",
       "WA    Seattle              5.517333e+05  5.755333e+05   589700.0  \n",
       "MD    Baltimore            1.146667e+05  1.147333e+05   115150.0  \n",
       "CO    Denver               3.355667e+05  3.427667e+05   351550.0  \n",
       "DC    Washington           5.041000e+05  5.058000e+05   516250.0  \n",
       "TN    Nashville            1.950667e+05  2.003667e+05   206100.0  \n",
       "WI    Milwaukee            9.466667e+04  9.636667e+04    98850.0  \n",
       "AZ    Tucson               1.495333e+05  1.511667e+05   152700.0  \n",
       "OR    Portland             3.560000e+05  3.698000e+05   387050.0  \n",
       "OK    Oklahoma City        1.279000e+05  1.293000e+05   130300.0  \n",
       "NE    Omaha                1.416333e+05  1.426667e+05   143450.0  \n",
       "NM    Albuquerque          1.691000e+05  1.706333e+05   171900.0  \n",
       "CA    Fresno               1.890333e+05  1.927333e+05   196450.0  \n",
       "...                                 ...           ...        ...  \n",
       "TX    Granite Shoals       1.337667e+05  1.400667e+05   146450.0  \n",
       "MD    Piney Point          3.195000e+05  3.241667e+05   324600.0  \n",
       "WI    Maribel              1.278333e+05  1.292667e+05   134200.0  \n",
       "ID    Middleton            1.539000e+05  1.571667e+05   160750.0  \n",
       "CO    Bennett              1.997667e+05  2.074667e+05   212600.0  \n",
       "NH    East Hampstead       2.725333e+05  2.778000e+05   282450.0  \n",
       "MO    Garden City          1.062667e+05  1.116667e+05   113600.0  \n",
       "AR    Mountainburg         9.833333e+04  1.019000e+05   103400.0  \n",
       "WI    Oostburg             1.327667e+05  1.341000e+05   136350.0  \n",
       "CA    Twin Peaks           1.641667e+05  1.679667e+05   173500.0  \n",
       "NY    Upper Brookville     1.904500e+06  1.944067e+06  1968800.0  \n",
       "HI    Volcano              2.420667e+05  2.489667e+05   247850.0  \n",
       "SC    Wedgefield           6.886667e+04  7.426667e+04    80700.0  \n",
       "MI    Williamston          1.814667e+05  1.824000e+05   183000.0  \n",
       "AR    Decatur              9.650000e+04  9.663333e+04    96850.0  \n",
       "TN    Briceville           4.080000e+04  4.180000e+04    40850.0  \n",
       "IN    Edgewood             9.943333e+04  9.996667e+04   100950.0  \n",
       "TN    Palmyra              1.276667e+05  1.328667e+05   137750.0  \n",
       "MD    Saint Inigoes        2.793333e+05  2.826333e+05   281400.0  \n",
       "IN    Marysville           1.282333e+05  1.232333e+05   124200.0  \n",
       "CA    Forest Falls         1.886333e+05  1.898667e+05   186650.0  \n",
       "MO    Bois D Arc           1.468667e+05  1.437667e+05   144000.0  \n",
       "VA    Henrico              2.160333e+05  2.162000e+05   220150.0  \n",
       "NJ    Diamond Beach        4.045333e+05  4.039000e+05   399000.0  \n",
       "TN    Gruetli Laager       7.533333e+04  7.646667e+04    77500.0  \n",
       "WI    Town of Wrightstown  1.498333e+05  1.512667e+05   155000.0  \n",
       "NY    Urbana               1.389667e+05  1.442000e+05   143000.0  \n",
       "WI    New Denmark          1.910667e+05  1.928333e+05   197600.0  \n",
       "CA    Angels               2.765333e+05  2.716000e+05   269950.0  \n",
       "WI    Holland              2.219667e+05  2.280333e+05   234950.0  \n",
       "\n",
       "[10730 rows x 67 columns]"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def convert_housing_data_to_quarters():\n",
    "    '''Converts the housing data to quarters and returns it as mean \n",
    "    values in a dataframe. This dataframe should be a dataframe with\n",
    "    columns for 2000q1 through 2016q3, and should have a multi-index\n",
    "    in the shape of [\"State\",\"RegionName\"].\n",
    "    \n",
    "    Note: Quarters are defined in the assignment description, they are\n",
    "    not arbitrary three month periods.\n",
    "    \n",
    "    The resulting dataframe should have 67 columns, and 10,730 rows.\n",
    "    '''\n",
    "    dfc1=pd.read_csv('City_Zhvi_AllHomes.csv')\n",
    "    dfc1.drop('RegionID', axis=1, inplace=True)\n",
    "    dfc1=dfc1.replace(np.NaN,0)\n",
    "    df2=dfc1.ix[:,[1,0,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249\n",
    "    ]]\n",
    "\n",
    "    df2.set_index(['State','RegionName'],inplace=True)\n",
    "    df2.columns = pd.to_datetime(df2.columns)\n",
    "    df3=df2.resample('Q', axis=1 ).mean()\n",
    "    list1=[]\n",
    "    for i in range(2000,2016):\n",
    "        for j in range(1,5):\n",
    "            list1.append(str(i)+ 'q'+ str(j))\n",
    "    list1.append('2016q1')\n",
    "    list1.append('2016q2')\n",
    "    list1.append('2016q3')\n",
    "    df3.columns=list1\n",
    "    return df3\n",
    "\n",
    "convert_housing_data_to_quarters()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'State' is not defined",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-26-3f423d9adf7a>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m     21\u001b[0m         \u001b[0mres\u001b[0m \u001b[1;33m+=\u001b[0m \u001b[1;34m\"to strings in the format e.g. Index(['2000q1', '2000q2',...],dtype='object')\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m     22\u001b[0m     \u001b[0mres\u001b[0m \u001b[1;33m+=\u001b[0m \u001b[1;34m\"\\nState name test: \"\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m---> 23\u001b[0;31m     \u001b[1;32mif\u001b[0m \u001b[0mset\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mq5\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_level_values\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0missubset\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mset\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mState\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     24\u001b[0m         \u001b[0mres\u001b[0m \u001b[1;33m+=\u001b[0m \u001b[1;34m'Passed'\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m     25\u001b[0m     \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mNameError\u001b[0m: name 'State' is not defined"
     ],
     "output_type": "error"
    }
   ],
   "source": [
    "import re\n",
    "import pandas as pd\n",
    "q5 = convert_housing_data_to_quarters()\n",
    "res = 'Output type test: '\n",
    "if type(q5) == pd.DataFrame:\n",
    "    res += 'Passed\\n'\n",
    "    pattern = re.compile(\"\\d\\d\\d\\dq[1-4]\")\n",
    "    res += 'Columns type test: '\n",
    "    if type(q5.columns) == pd.indexes.base.Index:\n",
    "        res += 'Passed'\n",
    "        res += '\\nColumns names test: '\n",
    "        if q5.columns.map(pattern.match).astype(bool).all():\n",
    "            res += 'Passed'\n",
    "        else:\n",
    "            res += 'Failed'\n",
    "            res += \"\\n Do the column names look like ['2000q1','2000q2'....]\"\n",
    "            res += '\\n PS. column names are case sensitive'\n",
    "    else:\n",
    "        res += 'Failed'\n",
    "        res += \"\\n Did you remember to change the column names back \"\n",
    "        res += \"to strings in the format e.g. Index(['2000q1', '2000q2',...],dtype='object')\"\n",
    "    res += \"\\nState name test: \"\n",
    "    else:\n",
    "        res += 'Failed'\n",
    "        res += \"\\n Did you map the abbreviated state names to the full names\"\n",
    "        res += \" using the precoded states dictionary\"\n",
    "    res += \"\\nShape test: \"\n",
    "    if q5.shape == (10730, 67):\n",
    "        res += 'Passed'\n",
    "    else:\n",
    "        res += 'Failed'\n",
    "\n",
    "    # generate all column names\n",
    "    columns = set(pd.date_range(\n",
    "        start=\"2000\", end=\"2017\", freq='Q').map(\n",
    "        lambda x: \"{:}q{:}\".format(x.year, x.quarter))[:-1])\n",
    "    res += \"\\nColumn Names test: \"\n",
    "    if set(q5.columns) == columns:\n",
    "        res += 'Passed'\n",
    "    else:\n",
    "        res += 'Failed'\n",
    "        res += \"\\nmissing columns\" + str(columns - set(q5.columns))\n",
    "else:\n",
    "    res += \"Failed\\n Output type is {}, a pandas.DataFrame is expected\".format(\n",
    "        type(q5))\n",
    "print(res)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'2016q4'}\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "202266.66666666666"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "q5 = convert_housing_data_to_quarters()\n",
    "q5.shape\n",
    "\n",
    "columns = set(pd.date_range(\n",
    "        start=\"2000\", end=\"2001\", freq='Q').map(\n",
    "        lambda x: \"{:}q{:}\".format(x.year, x.quarter)))\n",
    "#q5.columns==columns\n",
    "columns2 = set(pd.date_range(\n",
    "        start=\"2000\", end=\"2017\", freq='Q').map(\n",
    "        lambda x: \"{:}q{:}\".format(x.year, x.quarter)))\n",
    "\n",
    "\n",
    "print(str(columns2 - set(q5.columns)))\n",
    "\n",
    "convert_housing_data_to_quarters().loc[\"TX\"].loc[\"Austin\"].loc[\"2010q3\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "def run_ttest():\n",
    "    '''First creates new data showing the decline or growth of housing prices\n",
    "    between the recession start and the recession bottom. Then runs a ttest\n",
    "    comparing the university town values to the non-university towns values, \n",
    "    return whether the alternative hypothesis (that the two groups are the same)\n",
    "    is true or not as well as the p-value of the confidence. \n",
    "    \n",
    "    Return the tuple (different, p, better) where different=True if the t-test is\n",
    "    True at a p<0.01 (we reject the null hypothesis), or different=False if \n",
    "    otherwise (we cannot reject the null hypothesis). The variable p should\n",
    "    be equal to the exact p value returned from scipy.stats.ttest_ind(). The\n",
    "    value for better should be either \"university town\" or \"non-university town\"\n",
    "    depending on which has a lower mean price ratio (which is equivilent to a\n",
    "    reduced market loss).'''\n",
    "    \n",
    "    return \"ANSWER\""
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "coursera": {
   "course_slug": "python-data-analysis",
   "graded_item_id": "Il9Fx",
   "launcher_item_id": "TeDW0",
   "part_id": "WGlun"
  },
  "kernelspec": {
   "display_name": "Python [default]",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3.0
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}